Python에서 Getattr() 이해 및 활용
getattr 함수를 접했을 수도 있지만 그 진정한 목적을 파악하기는 어려울 수 있습니다. li.pop을 getattr(li, "pop")로 미러링하는 능력 외에도 getattr에 대한 더 깊은 이해가 중요합니다.
Getattr() 활용 시기 및 방법
Python 객체는 데이터 및 함수 속성을 포함한 속성을 보유합니다. 이러한 속성에 액세스하려면 일반적으로 person.name 또는 person.the_method()가 필요합니다. 그러나 런타임까지 속성 이름을 알 수 없는 상황이 발생합니다. 이것이 getattr이 빛나는 곳입니다.
속성 이름(예: 'gender')을 저장하는 변수 attr_name을 생각해 보세요. person.gender 대신 getattr(person, attr_name)을 활용하여 속성에 액세스할 수 있습니다.
예:
attr_name = 'name' person = Person() getattr(person, attr_name)
속성 부재 처리
Getattr은 지정된 속성이 다음과 같은 경우 AttributeError를 발생시킵니다. 결석한. 이를 완화하려면 속성을 찾을 수 없는 경우 반환될 기본값을 세 번째 인수로 제공합니다.
getattr(person, 'age', 0)
Getattr()를 사용하여 속성 반복
getattr을 dir과 결합하여 모든 속성 이름을 반복하고 해당 속성을 검색합니다. value.
for attr_name in dir(obj): attr_value = getattr(obj, attr_name)
실제 적용: 테스트로 시작하는 메서드 찾기 및 호출
for attr_name in dir(obj): if attr_name.startswith('test'): getattr(obj, attr_name)()
결론
Getattr 코딩 중에 알 수 없는 경우에도 이름을 통해 속성을 검색할 수 있습니다. 그 다양성은 속성 값 추출, 속성 부재 처리, 특정 명명 규칙을 사용하여 메서드 식별 및 호출까지 확장됩니다. Python 프로그래밍에서 동적 속성 조작을 위해 getattr의 강력한 기능을 활용하세요.
위 내용은 Python의 `getattr()` 함수를 언제, 어떻게 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!