본문 바로가기

BackEnd/Python

[# python] 속성을 추가하고 속성값을 바꾸는 Setattr

반응형


Python

setattr(object, attribute_name, property) 
setattr(객체, 속성명, 속성값)

 

Setattr은 정의된 속성값을 바꾸거나 새롭게 속성을 추가할 때 사용합니다. 아래 예시를 보시면 이해하시기 편하실 겁니다. 우선 class로 여러 속성을 가진 SoccerPlayer를 생성하겠습니다.

class SoccerPlayer:
    name = 'Messi'
    age = 34
    height = '169cm'
    place_of_brith = 'Argentina'
    team = 'Barcelona'
    position = 'Forward'

다음으로 SoccerPlayer를 player1에 할당하겠습니다. 그리고 각 속성에 접근해 속성값을 출력하도록 하겠습니다. 

player1 = SoccerPlayer()

print('이름 : ', player1.name)
print('나이 : ', player1.age)
print('팀 : ', player1.team)

현재 메시는 바르셀로나가 아닌 파리생제르망에서 활동하고 있습니다. 그에 맞게 속성값을 변경해주도록 하겠습니다.

setattr(player1, 'team', 'Paris Saint-Germain')
print('현재 팀 : ', player1.team)

이번에는 속성을 추가해보도록 하겠습니다. 성별 정보를 입력해보도록 하겠습니다.

setattr(player1, 'sex', 'male')
print('성별 : ', player1.sex)

이와 같이 setattr은 속성값의 변경이나 속성의 추가 입력이 가능하도록 해주는 메소드입니다.

다양한 곳에서 활용할 수 있는 메소드이니 잘 알아두시기 바랍니다 !


 

반응형

'BackEnd > Python' 카테고리의 다른 글

변수 이름 for문으로 할당하는 방법(globals( ))  (0) 2022.01.11
decorator(데코레이터) 사용법  (0) 2021.11.01