我开始使用Python中的类,并且正在学习如何在类中创建函数。有没有人对这个样本课程有任何提示?我正在测试的功能?
class test:
def __init__(self):
self.a = None
self.b = None
self.c = None
def prod(self):
return self.a * self.b
trial = test
trial.a = 4
trial.b = 5
print trial.prod
理想情况下,结果是看到数字20。
答案 0 :(得分:5)
你需要:
创建test
。
调用该实例的prod
方法。
这两个都可以通过在名称后添加()
来实现:
trial = test()
trial.a = 4
trial.b = 5
print trial.prod()
以下是演示:
>>> class test:
... def __init__(self):
... self.a = None
... self.b = None
... self.c = None
... def prod(self):
... return self.a * self.b
...
>>> trial = test()
>>> trial.a = 4
>>> trial.b = 5
>>> print trial.prod()
20
>>>
没有括号,这一行:
trial = test
只是将变量trial
分配给类test
本身,而不是它的实例。而且,这一行:
print trial.prod
只是打印test.prod
的字符串表示形式,而不是通过调用它返回的值。
以下是Python classes and OOP的参考资料。
答案 1 :(得分:1)
理想情况下,您还可以将值传递给a,b,c作为对象构造函数的参数:
class test:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def prod(self):
return self.a * self.b
然后,构造和调用函数将如下所示:
trial = test(4, 5, None)
print trial.prod()