2013-10-17 4 views
5

의 기능에 직접 변수를 할당? 내가 왜이 기능을 원하는지 궁금하다면, 매번 4 초마다 반복되는 기능이 있습니다. win32com.client.Dispatch()을 사용하면 Windows COM을 사용하여 응용 프로그램에 연결합니다. 4 초마다 해당 링크를 다시 만들 필요가 없다고 생각합니다. 물론 전역 변수를 사용할 수도 있지만이 방법이 유효한 지 궁금합니다.다음 코드를 고려 파이썬

답변

4

기본적으로 전역 이름 공간입니다. 함수 apples()은 전역 개체이며 해당 개체의 특성은 전역 적입니다.

일반 전역 변수보다 약간 우수합니다. 일반적으로 네임 스페이스는 좋은 아이디어입니다.

수를 유지하기 위해 클래스의 인스턴스 변수를 사용하는 것이 더 관용적 것
5

: 당신이 a 관계없이, 단지 함수 자체를 참조해야하는 경우

class Apples: 
    def __init__(self): 
     self._applecount = 0 

    def apples(self): 
     print(self._applecount) 
     self._applecount += 1 

a = Apples() 
a.apples() # prints 0 
a.apples() # prints 1 

, 당신은이 작업을 수행 할 수 있습니다 :

a = Apples() 
apples = a.apples 

apples() # prints 0 
apples() # prints 1 
+1

큰 제안. 기본적으로 상태 (명시 적 변수의 형태로)와 기능을 함께 넣으려는 경우 일반적으로 원하는 것은 클래스입니다. – abarnert

관련 문제