在Python3中,下面的一组代码起作用,我想知道为什么在Python2.7中它会给我一个TypeError:unbound method add()必须用calc instance作为第一个参数来调用(改为get int instance)?如何在Python2.7中解决这个问题?
class calc:
def add(x,y):
answer = x + y
print(answer)
def sub(x,y):
answer = x - y
print(answer)
def mult(x,y):
answer = x * y
print(answer)
def div(x,y):
answer = x / y
print(answer)
calc.add(5, 7)
对python2.7使用
staticmethod
或者,如果需要调用其他实例方法或使用类中的任何内容,请使用
instance method
另外,如果需要使用类变量但不声明实例,则使用
classmethod
它看起来像是试图用一堆静态函数实现一个类。你可以这样做,但真的没有必要。与其他语言不同,python不需要类来运行。您可以定义方法而不使用类:
由于导入在python中的工作方式,名称空间的基本单位是模块,而不是类。
因此,您最好按照预期使用模块,而不要将类用作模块:-)。
相关问题 更多 >
编程相关推荐