클래스 속성 다루기


속성 변경하기

예제1

class Person:

  def __init__(self, age, gender):
    self.age = age
    self.gender = gender

  def say_hello(self):
    print('Hello')


Andy = Person(25, 'Female')
Andy.age += 1

print(Andy.age)
26

인스턴스가 만들어진 후에도 인스턴스 변수의 값을 바꿀 수 있습니다.

인스턴스 변수 Andy.age의 값을 1만큼 증가시켰습니다.



예제2

class Person:

  def __init__(self, age, gender):
    self.age = age
    self.gender = gender

  def say_hello(self):
    print('Hello')

  def add_age(self):
    self.age += 1


Andy = Person(25, 'Female')

print(Andy.age)
Andy.add_age()
print(Andy.age)
25
26

add_age() 라는 메서드를 만들고, 호출함으로써 인스턴스 변수를 바꿀 수 있습니다.

초기값 25에서 26으로 1만큼 증가했습니다.



속성 삭제하기

예제

del Andy.age

print(Andy.age)
Traceback (most recent call last):
File "main.py", line 35, in <module>
    print(Andy.age)
AttributeError: 'Person' object has no attribute 'age'

del 키워드를 이용하면 인스턴스의 속성를 삭제할 수 있습니다.



인스턴스 삭제하기

예제

print(Andy)

del Andy

print(Andy)
<__main__.Person object at 0x7f34af549ad0>
Traceback (most recent call last):
   File "main.py", line 41, in <module>
       print(Andy)
NameError: name 'Andy' is not defined

del 키워드는 객체를 삭제하는데 사용되기 때문에 인스턴스 자체를 삭제할 수도 있습니다.



이전글/다음글

이전글 :
다음글 :