>백엔드 개발 >파이썬 튜토리얼 >Python에서 객체의 모든 속성을 얻는 방법

Python에서 객체의 모든 속성을 얻는 방법

anonymity
anonymity원래의
2019-05-25 14:32:028708검색

Python에서 리플렉션을 사용하면 객체의 모든 속성을 얻을 수 있습니다. 이 메커니즘을 리플렉션이라고 하며(객체가 무엇인지 알려줌) 런타임에 알 수 없는 객체에 대한 정보를 얻는 데 사용됩니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.