Python은 getattr 함수를 통해 객체의 속성 값을 가져옵니다.
getattr(object, name[, default])
Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object's attributes, the result is the value of that attribute. For example, getattr(x, 'foobar') is equivalent to x.foobar. If the named attribute does not exist, default is returned if provided, otherwise AttributeError is raised.
객체의 속성 값 가져오기
설명:
1. 함수 기능은 대상object에서 이름이name인 속성을 가져오고, 등효와object를 호출합니다.name.
# Student
>>> class Student:
def __init__(self,name):
self.name = name
>>> s = Stduent('Aim')
>>> getattr(s,'name') # s.name
'Aim'
>>> s.name
'Aim'
2. 함수 세 번째 매개 변수 default는 선택할 수 있는 매개 변수입니다. 만약object에서 name 속성을 의미한다면name 속성의 값을 되돌려줍니다.name 속성이 없으면default 값을 되돌려줍니다.default가 입력되지 않으면 오류가 발생합니다.
# Student
>>> class Student:
def __init__(self,name):
self.name = name
>>> getattr(s,'name') # name
'Aim'
>>> getattr(s,'age',6) # age, ,
6
>>> getattr(s,'age') # age, ,
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
getattr(s,'age')
AttributeError: 'Stduent' object has no attribute 'age'
및 __getattr__의 차이점:__getattr__클래스의 내장 방법으로 어떤 속성을 찾지 못할 때 이 방법을 사용합니다.찾으면 호출되지 않습니다.
getattr는 클래스와 무관합니다.
하나의 예: 데이터의 에이전트 클래스로서 이런 방식으로 데이터의 속성을 사용할 수 있다.
class DataProxy(...):
def __getattr__(self, item):
return getattr(self.data, item)
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.