728x90
반응형
초보자를 위한 파이썬(Python) 300제 풀이
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() 메서드를 추가하세요.
>>> areum.who()
이름: 조아름, 나이: 25, 성별: 여자
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def who(self):
print(f"이름: {self.name} 나이: {self.age} 성별: {self.sex}")
areum = Human("아름", 25, "여자")
areum.who()
- class 안에 시작과 동시에 설정되는 "__init__" 함수와 호출해야 하는 who 메서드를 설정하면 됩니다.
258. 사람(Human) 클래스에 (이름, 나이, 성별)을 받는 setinfo 메서드를 추가하세요.
>>> 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("모름", 0, "모름")
areum.setInfo("아름", 25, "여자")
areum.who()
- 위 문제의 답안과 같이 메서드를 추가하고 그에 맞는 기능을 설정하면 됩니다.
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__"은 "__init__"과 같이 특별한 메서드인데, 객체를 삭제하는 기능을 가집니다.
- 위와 같이 print 구문을 넣어주면, 본래 삭제하는 기능과 출력 구문을 모두 사용합니다.
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
- myStock = OMG() 입니다. 끝에 튜플이 잡혀있습니다.
- myStock.print() 를 풀어보면 OMG().print()로 풀립니다. 클래스의 기능을 사용하려면 튜플은 메서드 뒤로 가야합니다.
- OMG.print()로 사용하면 에러 없이 원활하게 사용가능합니다.
출처 = https://wikidocs.net/book/922, 초보자를 위한 파이썬 300제,
PyCharm 사용
728x90
반응형
'개발 > (1) 초위파(Python) 300제 풀이' 카테고리의 다른 글
초보자를 위한 파이썬(Python) 300제 풀이 (266, 267, 268, 269, 270) (0) | 2022.12.17 |
---|---|
초보자를 위한 파이썬(Python) 300제 풀이 (261, 262, 263, 264, 265) (0) | 2022.12.16 |
초보자를 위한 파이썬(Python) 300제 풀이 (251, 252, 253, 254, 255) (0) | 2022.12.14 |
초보자를 위한 파이썬(Python) 300제 풀이 (246, 247, 248, 249, 250) (0) | 2022.12.13 |
초보자를 위한 파이썬(Python) 300제 풀이 (241, 242, 243, 244, 245) (0) | 2022.12.12 |