Python函数混乱

时间:2012-02-06 21:24:09

标签: python

使用python进行编程时,我常常对以下歧义感到困惑:

应该是:function(a)还是a.function()。虽然这个问题太笼统,有人可以告诉我什么时候会发生这种情况吗?

2 个答案:

答案 0 :(得分:4)

你的困惑可能源于python如何定义实例方法......

class Person

    def speak(self, message):
        print message

看看这个定义,我可以看到有人会认为你必须传递一个Person作为第一个参数。

但这只是python的方法,可以使self(该人的当前实例)可用于该方法。

所以正确的方法是

person_instance = Person()
person_instance.speak("This is a message")

答案 1 :(得分:0)

当你像a.function()一样调用它时,你从名为“a”的对象中调用一个名为“function”的方法。

如果您不知道方法与功能/程序之间的区别,则需要研究Object Oriented Programming概念。