如何在Python中的类中创建一个简单的函数?

时间:2014-01-29 19:08:18

标签: python function class

我开始使用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。

2 个答案:

答案 0 :(得分:5)

你需要:

  1. 创建test

  2. 的实例
  3. 调用该实例的prod方法。

  4. 这两个都可以通过在名称后添加()来实现:

    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()