答案 0 :(得分:1)
class Example():
def __init__(self):
self.x = 1
def change_x(self):
self.x = 5
print(self.x)
def example_function(x):
print(x)
a= Example()
a.change_x() #calling the object function of
example_function("hello") #calling the function in scope
#prints >> 5
# >> hello
当你something.function()
调用该对象的函数时。
当您function()
时,您正在调用命名空间中定义的范围内的函数。
答案 1 :(得分:1)
function(a)
和a.function()
之间的差异是函数和方法之间的差异。函数称为function(a)
,不会在变量上调用。 a.function()
实际上是一个方法,并在实例变量上调用。调用a.function()
时,无论类a
是什么,都有一个可以在该变量上调用的方法function()
。然而,当调用function(a)
时,将使用a
作为参数调用函数。一个例子是
' '.join(['a','b','c'])
在字符串join
上调用方法' '
(因为join
是属于str
类的方法)并采用参数['a', 'b', 'c']
。