(2023.2.13) Today_I_Learned_day-120

imRound·2023년 2월 13일
post-thumbnail

[Python 중급] getattr(), hasattr(), setattr(), delattr()

  • 예제 함수
class Animal:
    leg = 4
    size = "small"
    
    def enemy(self):
        print("bowwow")
    def friend(self):
        print("I like you")
        
animal = Animal()

getattr()

  • 속성 값을 가져오는 함수
  • getattar(object, attribute, defualt)
    • 필수(객체), 필수(값을 얻을 속성명), 선택(속성이 없는 경우 반환할 값)
print(animal.leg) # >> 4
print(animal.size) # >> small

print(getattr(animal, "leg")) # >> 4
print(getattr(animal, "size")) # >> "small"

hasattr()

  • 해당 속성이 있으면 True, 없으면 False
  • hasattr(object, attribute) 객체, 유무를 확인하고자 하는 attribute의 이름
print(hasattr(animal, "head")) # False
print(hasattr(animal, "leg")) # True

setattr()

  • 속성 값을 설정할 때 사용한다.
  • setattr(object, attribute, value) 객체, 속성 이름, 속성
print(setattr(animal, "leg", "hello")) # "hello" 값이 할당
print(animal.leg) # hello

delattr()

  • 속성을 제거할 때 사용한다.
  • delattr(object, attribute) 객체, 제거할 속성명
delattr(animal, "leg")
print(hasattr(animal, "leg")) # AttributeError: 'Animal' object has no attribute 'leg'

delattr(animal, "leg")
print(animal.leg) # AttributeError: 'Animal' object has no attribute 'leg'

del animal.leg
print(animal.leg)# AttributeError: 'Animal' object has no attribute 'leg'
profile
Django 개발자

0개의 댓글