无法使用其他python脚本中的函数

时间:2015-08-24 08:50:26

标签: python python-2.7 python-3.x

我在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'未定义

我的代码出了什么问题?

2 个答案:

答案 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)

你可以使用这样的东西。

classfile.py

class MyClass:
    def testadd(self, x, y):
        self.x = x
        self.y = y 
        return x+y

callfile.py

import classfile
ob = classfile.MyClass()
print ob.testadd(21,3)