Python 은dict__dir()와 의 사고

2947 단어 pythondictdir
에 대하 여dict__dir()와 의 차이 점 과 역할 은 이 글 을 참고 하 시기 바 랍 니 다.
파 이 썬 기반dict__dir()와 의 차이 에 대한 상세 한 설명
내 가 그때 겪 었 던 문 제 를 말 해 봐.

class Demo:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def func(self):
    print('Hello {0}'.format(self.name))
>>> d1 = Demo('Pythoner', 24)
>>> hasattr(d1, 'func')
True
>>> d1.__dict__
{'age': 24, 'name': 'Pythoner'}
>>dir(d1)
[ 'age', 'func', 'name','__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
우선,우 리 는 인 스 턴 스 방법 도 속성 이 라 고 할 수 있다 는 것 을 알 고 있 습 니 다.hasattr()함 수 를 통 해 검증 할 수 있 습 니 다.그리고dict__대상 속성 을 저장 하 는 사전 이지 만 되 돌아 오 는 값 에는'func'가 없습니다!
dir()함 수 를 보면 대상 의 모든 속성(부모 클래스 에서 계승 하 는 속성 포함)을 자동 으로 찾 습 니 다.반환 값 에는'func'가 있 습 니 다.
그래서 저 는'인 스 턴 스 방법'은 인 스 턴 스 의'개인'속성 이 아니 라 이 유형의 모든 인 스 턴 스 가 공유 하 는 속성 이 라 고 추측 합 니 다!
인 스 턴 스 가 사유 속성 을 얻 으 려 면'사유 화'과정 이 필요 합 니 다.마치init__함수 초기 화!
인증:

class Demo2:
  def __init__(self, name):
    self.name = name
  def func(self):
    print('----get arg country----')
    self.country = 'China'
>>> d2 = Demo2('Pythoner')
>>> d2.__dict__
{'name': 'Pythoner'}
>>> d2.func()
----get arg country----
>>> d2.__dict__
{'country': 'China', 'name': 'Pythoner'}
'인 스 턴 스 방법'이 인 스 턴 스 방법 이 라 고 불 리 는 이 유 는 모든 인 스 턴 스 실행 방법 이 각자 의 개인 속성 에 따라 서로 다른 결 과 를 얻 을 수 있 기 때 문 입 니 다.방법 중의 self 매개 변수 때 문 입 니 다.
인 스 턴 스 는 인 스 턴 스 방법 을 실행 할 때 소속 클래스 에서 이 방법 을 찾 은 다음 에 self 매개 변 수 를 통 해 인 스 턴 스 자 체 를 전달 하고 인 스 턴 스 의 개인 속성 을 함께 전달 합 니 다.self 매개 변 수 를 통 해 인 스 턴 스 와 방법의 연결 을 실현 합 니 다.
총결산
이상 은 바로 본 논문 에서 Python 유 에 관 한 것 입 니 다.dict__dir()가 일 으 킨 사고의 모든 내용 과 여러분 에 게 도움 이 되 기 를 바 랍 니 다.관심 이 있 는 친 구 는 본 사 이 트 를 계속 참조 할 수 있 습 니 다.Python 변 수 를 사용 할 때 피해 야 할 세 가지 오류,Python 의*중복 연산 자 를 깊이 이해 합 니 다.등 부족 한 점 이 있 으 면 댓 글 에 지적 해 주 십시오.

좋은 웹페이지 즐겨찾기