我正在尝试在python列表[]
中构建一个命令列表,该列表将传递给另一个python对象。什么都没有崩溃,但收件人传递了一个空参数。
该对象是由panel,slot_handler和slot组成的python脚本menu.py的一部分。他们一起在pygame中创建了一个滚动面板对象:panel是顶级类。 panel有一个实例slot_handler,它包含一个链表中的插槽。
我以前从未在python中尝试过这个。我想知道这是否可行。如果这不可行,我愿意接受这些想法。
class slot(object):
def getcommands(self,mylist):
if(self.has_phrase):
if(self.phrase=="Move Up"):
mylist.append('u')
elif(self.phrase=="Move Down"):
mylist.append('d')
elif(self.phrase=="Move Left"):
mylist.append('l')
elif(self.phrase=="Move Right"):
mylist.append('r')
elif(self.phrase=="Open"):
mylist.append('o')
elif(self.phrase=="Close"):
mylist.append('c')
elif(self.phrase=="Rotate"):
mylist.append('s')
if(self.has_next):
self.next.getcommands(mylist)
...
class slot_handler(object):
def getcommands(self):
commands = []
self.top_slot.getcommands(commands)
...
class panel(object):
def getcommands(self):
return self.slots.getcommands()
答案 0 :(得分:3)
是的,可以将列表作为参数传递并在函数中附加到它:
>>> def f(x): x.append('u')
...
>>> mylist = []
>>> f(mylist)
>>> mylist
['u']