如何编写一个类来使这段代码有效。
class number:
def double(self):
return n*2
print(number(44).double)
>> 88
答案 0 :(得分:4)
好吧,您可以使用property
修饰 number.double 方法:
class number:
def __init__(self, number):
self.number = number
@property
def double(self):
return self.number * 2
print(number(42).double) # 84
如果您知道参数的类型,最好从中继承number
。例如
class number(int):
@property
def double(self):
return type(self)(self * 2)
print(number(42).double) # 84
print(number(42).double.double) # 168
答案 1 :(得分:0)
你在这里:
class Number(object):
def __init__(self, n):
self.n = n
def double(self):
return 2*self.n
print(Number(44).double())
几点说明:
double()
是类Number
的方法(而不是属性),因此您需要使用括号来调用它。n
或44
,则必须def
__init__()
函数,该函数为解释器提供如何操作的说明创建或初始化您的班级实例。希望这有帮助,祝你好运!