我是一名新的Python程序员,他在课堂上使用'self'时遇到了一些麻烦.例如:
class data:
def __init__(self):
self.table = []
def add(self, file):
self.table.append(file)
data.add('yes')
Run Code Online (Sandbox Code Playgroud)
在这个函数中,我希望将table作为存储在类数据中的变量,并使用add来修改它.但是,当我运行此脚本时它会给我错误:
Traceback (most recent call last):
File "/Projects/Python/sfdfs.py", line 7, in <module>
data.add('yes')
TypeError: add() takes exactly 2 positional arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
我假设我试图在这个实例中以错误的方式调用该函数,因为这个语法非常类似于python文档中的示例:http://docs.python.org/3.1/tutorial/classes.html
首先需要创建类的实例:
mydata = data()
Run Code Online (Sandbox Code Playgroud)
那么你可以调用方法 - 在实例上,当然不是在类上:
mydata.add('yes')
Run Code Online (Sandbox Code Playgroud)