使用python进行编程时,我常常对以下歧义感到困惑:
应该是:function(a)还是a.function()。虽然这个问题太笼统,有人可以告诉我什么时候会发生这种情况吗?
答案 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概念。