본문 바로가기

클래스2

n면 주사위 클래스 함수 만들기 파이썬 클래스와 객체개념을 숙달하기 위해 n면체 주사위 클래스를 만들고, 랜덤으로 값을 받는 프로그램을 짜보았다. 먼저 main함수를 만들어, 실제 함수가 실행되는 부분을 만들었다 사용자가 직접 주사위의 면 수를 입력할 수 있게 input 함수를 사용했고 mydice라는 변수에 FunnyDice 인스턴스를 할당해 주사위 로직을 실행할 객체를 생성했다. 아래는 해당 코드이다. from random import randrange def main(): n = get_inputs() mydice = FunnyDice(n) mydice.throw() print(f"행운의 숫자는? {mydice.getval()}") class FunnyDice: def __init__(self, n = 6): # default o.. 2022. 1. 11.
객체지향프로그래밍(OPP)이란? 파이썬은 객체지향 프로그램이라고 불린다. 여기서 객체는 무엇이고, 객체지향 프로그래밍은 무엇을 의미할까? 객체(Object)란 무엇인가? 변수에 할당되거나 인자로 넘겨질 수 있는 모든 것들, 파이썬의 경우 모든 것이 객체 - b에 4를 할당하면, b와 4의 주소는 동일 [In] : print(id(var), id(4)) #id 값은 pc마다 다릅니다. [Out] : 140655556567744 140655745104272 얕은 복사 vs 깊은복사 얕은 복사 – 원본 데이터의 주소 값 만 복사 깊은 복사 – 원본 데이터의 값을 복사 Class의 기원 A라는 자동차와 B라는 자동차를 각각의 변수로 만들고자 한다면 car_a_tire, car_b_tire, car_a_window, car_b_window, ... 2022. 1. 10.