2016-10-28 13 views
-1

これは本当に厄介な質問であることを前もってお詫びします。好奇心の外に、(例えば)関数(a)とa.function()の違いは何ですか?すべての答えをありがとう。Python-関数を呼び出す

答えて

1

function(a)a.function()の違いは、機能と方法の違いです。関数はfunction(a)と呼ばれ、変数に対しては呼び出されません。 a.function()は実際にはメソッドであり、インスタンス変数で呼び出されます。 a.function()が呼び出されたときに、どのクラスでもaがある場合は、その変数に対して呼び出すことができるメソッドfunction()があります。一方、function(a)が呼び出されたときには、aをパラメータとして関数が呼び出されます。この例は

' '.join(['a','b','c']) 

およびパラメータ['a', 'b', 'c']をとる(joinstrクラスに属するメソッドのように)文字列' 'に呼び出されるメソッドjoinあります。

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()の場合、名前空間で定義されているスコープ内の関数を呼び出しています。

関連する問題