251. 클래스와 객체에 대해 설명해봅시다.[클래스, 객체, 인스턴스]
-> 클래스는 일종의 설계도로, 하나의 타입을 정의하는 방법입니다.
클래스에는 관련있는 데이터와 함수를 한 데 모아 정의할 수 있습니다.
클래스로 만들어진 결과물을 객체라고합니다.
252. 비어있는 사람 (Human) 클래스를 "정의" 해보세요.[클래스 정의]
->
class Human:
pass
253.사람 (Human) 클래스의 인스턴스를 "생성" 하고 이를 areum 변수로 바인딩해보세요.[인스턴스 생성]
class Human:
pass
areum = Human()
254 .사람 (Human) 클래스에 "응애응애"를 출력하는 생성자를 추가하세요.[클래스 생성자-1]
>>> areum = Human()
응애응애
->
class Human:
def __init__(self):
print("응애응애")
areum = Human()
255. 사람 (Human) 클래스에 (이름, 나이, 성별)을 받는 생성자를 추가하세요.[클래스 생성자-2]
>>> areum = Human("아름", 25, "여자")
->
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
areum = Human("아름", 25, "여자")
print(areum.name)
256. 255에서 생성한 인스턴스의 이름, 나이, 성별을 출력하세요. 인스턴스 변수에 접근하여 값을 출력하면 됩니다.[인스턴스 속성에 접근]
이름: 조아름, 나이: 25, 성별: 여자
인스턴스 변수에 접근하여 값을 가져오는 예
>>> areum.age
25
->
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
areum = Human("아름", 25, "여자")
print(areum.age)
257. 사람 (Human) 클래스에서 이름, 나이, 성별을 출력하는 who() 메소드를 추가하세요.[클래스 메소드-1]
>>> areum.who()
이름: 조아름, 나이: 25, 성별: 여자
->
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def who(self):
print("이름: {} 나이: {} 성별: {}".format(self.name, self.age, self.sex))
areum = Human("아름", 25, "여자")
areum.who() # Human.who(areum)
258. 사람 (Human) 클래스에 (이름, 나이, 성별)을 받는 setInfo 메소드를 추가하세요.[클래스 메소드-2]
>>> areum = Human("모름", 0, "모름")
>>> areum.setInfo("아름", 25, "여자")
->
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def who(self):
print("이름: {} 나이: {} 성별: {}".format(self.name, self.age, self.sex))
def setInfo(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
areum = Human("불명", "미상", "모름")
areum.who() # Human.who(areum)
areum.setInfo("아름", 25, "여자")
areum.who() # Human.who(areum)
259.사람 (human) 클래스에 "나의 죽음을 알리지 말라"를 출력하는 소멸자를 추가하세요.[클래스 소멸자]
>>> areum = Human("아름", 25, "여자")
>>> del areum
나의 죽음을 알리지 말라
->
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def __del__(self):
print("나의 죽음을 알리지마라")
def who(self):
print("이름: {} 나이: {} 성별: {}".format(self.name, self.age, self.sex))
def setInfo(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
areum = Human("아름", 25, "여자")
del(areum)
소멸자는 객체가 삭제될 때 호출되는 특별한 메서드입니다. 이 메서드는 __del__()로 정의되며, 객체의 메모리를 해제하고 삭제하기 직전에 실행됩니다.
260. 아래와 같은 에러가 발생한 원인에 대해 설명하세요.[에러의 원인]
class OMG :
def print() :
print("Oh my god")
>>> >>> myStock = OMG()
>>> myStock.print()
TypeError Traceback (most recent call last)
<ipython-input-233-c85c04535b22> in <module>()
----> myStock.print()
TypeError: print() takes 0 positional arguments but 1 was given
->
class OMG :
def print() :
print("Oh my god")
mystock = OMG()
mystock.print() # OMG.print(mystock)
'Python > Python 300제' 카테고리의 다른 글
파이썬 300제 271~280 (파이썬 클래스) (0) | 2024.07.15 |
---|---|
파이썬 300제 261~270 (파이썬 클래스) (1) | 2024.07.15 |
파이썬 300제 241~250 (파이썬 모듈) (2) | 2024.07.15 |
파이썬 300제 231~240 (파이썬 함수) (0) | 2024.07.15 |
파이썬 300제 221~230 (파이썬 함수) (2) | 2024.07.15 |