getattr( object, attribute name )
class Graph:
@staticmethod
def barGraph(x, y):
print('x축의 값이 {}이고 y축의 값이 {}인 bar 그래프.'.format(x, y))
@staticmethod
def pieGraph(x, y):
print('x축의 값이 {}이고 y축의 값이 {}인 pie 그래프.'.format(x, y))
@staticmethod
def scatterGraph(x, y):
print('x축의 값이 {}이고 y축의 값이 {}인 scatter 그래프.'.format(x, y))
arr = ['bar', 'pie', 'scatter']
for graph in arr :
getattr(Graph, graph + 'Graph')('성별', '평균수명')
# 결과
x축의 값이 나이이고 y축의 값이 평균수명인 bar 그래프.
x축의 값이 나이이고 y축의 값이 평균수명인 pie 그래프.
x축의 값이 나이이고 y축의 값이 평균수명인 bscatterar 그래프.
getattr는 object 안에 찾고자하는 attribute의 값을 출력합니다.
만약에 attribute가 존재하지 않는 경우
getattr를 사용할 때, default값을 설정해줄 수 있습니다.
getattr( object, attribute name [, default] )
getter ( Graph, 'barhGraph', '해당 object 에 {}라는 attribute는 존재하지 않습니다.'.format())(x, y)
#결과
Graph라는 object에 barhGraph라는 attribute는 존재하지 않습니다.
아니면 try, except를 통해서 처리해주는 방법도 존재합니다.
for graph in arr:
try:
getattr(Graph, graph + 'Graph')('성별', '평균수명')
except AttributeError as e:
print("Unknown statistic: " + graph)
'IT 공부 > python' 카테고리의 다른 글
[ Python ] re 라이브러리를 이용해 '정규식' 사용하기 (0) | 2022.01.21 |
---|---|
[ Python ] requests를 이용해 웹 크롤링한 뒤에 파일로 저장하기 (0) | 2022.01.18 |
[ Python ] 웹 스크래핑에 필요한 기본 IT지식 (XPath) (0) | 2022.01.18 |
[ python ] django로 웹만들기 (0) | 2021.01.01 |
[ python ] 자동 이메일 프로젝트 (0) | 2020.12.26 |