IT박스

해당 속성의 이름에 해당하는 문자열이 주어진 객체 속성에 액세스하는 방법

itboxs 2020. 7. 18. 22:50
반응형

해당 속성의 이름에 해당하는 문자열이 주어진 객체 속성에 액세스하는 방법


t의해 주어진 속성 값을 어떻게 설정 / 얻 x습니까?

class Test:
   def __init__(self):
       self.attr1 = 1
       self.attr2 = 2

t = Test()
x = "attr1"

내장 함수가 getattr있으며setattr

getattr(object, attrname)
setattr(object, attrname, value)

이 경우

x = getattr(t, 'attr1')
setattr(t, 'attr1', 21)

참고 :이 답변은 매우 구식입니다. 2008 년new더 이상 사용되지 않는 모듈을 사용하여 Python 2에 적용됩니다 .

파이썬에는 setattr 및 getattr 함수가 내장되어 있습니다. 클래스의 속성을 설정하고 얻는 데 사용할 수 있습니다.

간단한 예 :

>>> from new import  classobj

>>> obj = classobj('Test', (object,), {'attr1': int, 'attr2': int}) # Just created a class

>>> setattr(obj, 'attr1', 10)

>>> setattr(obj, 'attr2', 20)

>>> getattr(obj, 'attr1')
10

>>> getattr(obj, 'attr2')
20

참고 : https://stackoverflow.com/questions/2612610/how-to-access-object-attribute-given-string-corresponding-to-name-of-that-attrib

반응형