2016-10-28 5 views
-1

나는 이것이 정말로 멍청한 질문이라는 것을 미리 사과드립니다. 호기심에서, (예를 들어) 함수 (a)와 a.function()의 차이점은 무엇입니까? 어떤 답변을 주셔서 감사합니다.파이썬 - 함수 호출

답변

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() 인 경우 네임 스페이스에 정의 된 범위 내에서 함수를 호출하고 있습니다.