클래스 의 개인 변수

4010 단어 python
클래스 의 개인 변수
클래스 속성 및 방법
클래스 개인 속성
__privatetatrs 두 밑줄 로 시작 하여 이 속성 은 사유 이 며 외부 에서 사용 하거나 직접 방문 할 수 없습니다.클래스 내부 에서 사용 할 수 있 습 니 다.방법 은 다음 과 같 습 니 다.
self.__private_attrs
유형 적 방법
클래스 내부 에서 def 키 워드 를 사용 하여 하나의 방법 을 정의 합 니 다.일반 함수 정의 와 달리 클래스 방법 은 매개 변수 self 를 포함 하고 첫 번 째 매개 변수 이 며 self 는 클래스 의 인 스 턴 스 를 대표 합 니 다.self 의 이름 은 정 해진 것 이 아니 라 this 를 사용 할 수도 있 지만 약속 한 대로 self 를 사용 하 는 것 이 좋 습 니 다.
유사 한 사유 방법
__privatemethod;두 밑줄 로 시작 하여 이 방법 은 개인 적 인 방법 이 라 고 밝 히 고 이 방법 은 내부 에서 만 호출 할 수 있다 고 밝 혔 다.외부 호출 시:self.privatemethod
class JustCounter:
    __secretCount = 0  #     
    publicCount = 0    #     

    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print (self.__secretCount)

counter = JustCounter()
counter.count()
counter.count()
print (counter.publicCount)
print (counter.__secretCount)  #   ,          
1
2
2
Traceback (most recent call last):
  File "test.py", line 16, in 
    print (counter.__secretCount)  #   ,          
AttributeError: 'JustCounter' object has no attribute '__secretCount'

유 틸 리 티
__init__ :     ,        
__del__ :     ,       
__repr__ :   ,  
__setitem__ :       
__getitem__:        
__len__:     
__cmp__:     
__call__:     
__add__:    
__sub__:    
__mul__:    
__div__:    
__mod__:     
__pow__:   

python 연산 자 재 부팅 지원
class Vector:
   def __init__(self, a, b):
      self.a = a
      self.b = b

   def __str__(self):
      return 'Vector (%d, %d)' % (self.a, self.b)

   def __add__(self,other):
      return Vector(self.a + other.a, self.b + other.b)

v1 = Vector(2,10)
v2 = Vector(5,-2)
print (v1 + v2)
Vector(7,8)

좋은 웹페이지 즐겨찾기