Notice
Recent Posts
Recent Comments
Link
뮤트 개발일지
AIFFEL 아이펠 10일차 본문
개인적인 사정으로 오늘은 결석을 해서 혼자 공부하였다ㅜ
풀잎은 참여못했지만 오늘 공부한 노드만이라도 정리해서 올려야겠다.
(파이썬의 객체지향에 대해 배웠고 헷갈린 정보들만 정리해놓자.)
객체: 파이썬에서 object라 불리는 것들은 모두 변수에 할당될 수 있고, 함수의 인자로 넘겨질 수 있는 것들이다.
self
- self는 자기 자신
- 클래스에 의해 생성된 객체(인스턴스)를 가리킨다.
- 클래스의 메소드는 인자로 해당 인스턴스(self)를 받아야 한다.
- 메소드를 호출할 때는 self 인자를 전달하지 않는다. self의 값은 인터프리터가 제공한다.
- 인스턴스 변수를 정의할 때에는 접두사 self.을 붙여준다.
n면체 주사위 만들기
from random import randrange
class FunnyDice:
def __init__(self, n=6):
self.n = n
self.options = list(range(1, n+1))
self.index = randrange(0, self.n)
self.val = self.options[self.index]
def throw(self):
self.index = randrange(0, self.n)
self.val = self.options[self.index]
def getval(self):
return self.val
def setval(self, val):
if val <= self.n:
self.val = val
else:
msg = "주사위에 없는 숫자입니다. 주사위는 1 ~ {0}까지 있습니다. ".format(self.n)
raise ValueError(msg)
def get_inputs():
n = int(input("주사위 면의 개수를 입력하세요: "))
return n
def main():
n = get_inputs()
mydice = FunnyDice(n)
mydice.throw()
print("행운의 숫자는? {0}".format(mydice.getval()))
if __name__ == '__main__':
main()'AIFFEL' 카테고리의 다른 글
| AIFFEL 아이펠 12일차 (0) | 2022.01.12 |
|---|---|
| AIFFEL 아이펠 11일차 (0) | 2022.01.11 |
| AIFFEL 아이펠 사이킷런으로 구현해보는 머신러닝 (0) | 2022.01.10 |
| AIFFEL 아이펠 9일차 (0) | 2022.01.06 |
| AIFFEL 아이펠 8일차 (0) | 2022.01.05 |