我在python文件 classfile.py
中有以下脚本class Myclass:
def testadd(x,y):
return x+y
在另一个python文件中调用callfile.py
from classfile import Myclass
print testadd(3, 5)
在运行脚本callfile.py
时,我正在
NameError:名称'testadd'未定义
我的代码出了什么问题?
答案 0 :(得分:2)
您可以将方法定义为“classmethod”:
#!/usr/bin/python
class Myclass():
@classmethod
def testadd(cls, x, y):
return x + y
然后你可以这样使用它:
#!/usr/bin/python
from classfile import Myclass
print Myclass.testadd(3, 5)
不使用“classmethod”装饰器,您只能以这种方式使用它:
#!/usr/bin/python
from classfile import Myclass
aclass = Myclass()
print aclass.testadd(4, 5)
答案 1 :(得分:1)
你可以使用这样的东西。
class MyClass:
def testadd(self, x, y):
self.x = x
self.y = y
return x+y
import classfile
ob = classfile.MyClass()
print ob.testadd(21,3)