Python에서 리플렉션을 사용하면 객체의 모든 속성을 얻을 수 있습니다. 이 메커니즘을 리플렉션이라고 하며(객체가 무엇인지 알려줌) 런타임에 알 수 없는 객체에 대한 정보를 얻는 데 사용됩니다.
아래에는 개체의 속성을 확인하거나 액세스하는 데 사용할 수 있는 몇 가지 내장 메서드가 나열되어 있습니다. 이러한 메소드는 예제의 Cat 인스턴스 객체뿐만 아니라 모든 객체에서 사용할 수 있습니다.
#coding:utf-8 from a import * cat = Cat('kitty') print cat.name cat.sayHi() #调用实例方法 print dir(cat) if hasattr(cat, 'name'): #检查实例是否有这个属性 setattr(cat, 'name', 'tiger') #same as: a.name = 'tiger' print getattr(cat, 'name') #same as: print a.name getattr(cat, 'sayHi')()
dir([obj]):
이 메소드를 호출하면 obj의 속성 이름 대부분이 포함된 목록이 반환됩니다( 일부 특수 속성은 포함되지 않습니다.) obj의 기본값은 현재 모듈 객체입니다.
hasattr(obj, attr):
이 메서드는 obj에 attr이라는 속성이 있는지 확인하고 부울 값을 반환하는 데 사용됩니다.
getattr(obj, attr):
이 메서드를 호출하면 obj에 attr 값이라는 속성 값이 반환됩니다. 예를 들어 attr이 'bar'이면 obj.bar가 반환됩니다.
setattr(obj, attr, val):
이 메서드를 호출하면 obj의 attr이라는 속성에 val 값이 할당됩니다. 예를 들어 attr이 'bar'인 경우 obj.bar = val과 동일합니다.
위 내용은 Python에서 객체의 모든 속성을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!