正在开发一款简单的游戏/应用程序。当我在web2py
视图上调用变量时,出现此错误:
quack= duck.quack()
TypeError: unbound method quack() must be called with duck instance as first argument (got nothing instead)
我的代码在这里:
在模块中
from gluon import *
class duck():
def quack():
return 'Quacks like a duck'
def walk():
return 'Walks like a person'
在控制器中
def data_filters():
fils = duck.quack()
return dict(fils=fils)
在视图中:
{{extend 'layout.html'}}
{{=fils}}
答案 0 :(得分:1)
通常,如果要使用其方法,则需要创建类的实例。
class duck():
def quack(self):
#...
x = duck()
fils = x.quack()
但是,如果方法不需要引用self
或对象的任何属性,则可以将其标记为静态方法并继续使用duck.quack()
,就像现在一样。
class duck():
@staticmethod
def quack():
#...