점프투파이썬 42

[21-4 파이썬] 클래스 상속 class inheritance

이번 시간에는 클래스 상속에 대해 알아본다. (복습: 객체에 속성, 메소드 만드는 방법? ----->클릭) (복습: 클래스란? ----->클릭) 1. 클래스 복습! 이전에 백종원 사장님의 예를 들었으니, 계속 이어서 이야기를 풀어보도록 하겠다. 백종원 사장님이 수많은 음식점 프랜차이즈를 가지고 있는 것은 '음식점'에 대한 청사진(▶클래스)이 있었기 때문이다. 종업원을 관리하는 방법, 손님을 관리하는 방법, 청소를 하는 방법(▶매소드)와 의자, 식탁, 주방용기, 가스레인지(▶속성)는 중식당, 한식당, 이탈리안 식당 등 어떤 음식점을 차리든 동일하게 적용되었다. 만드는 과정이 쉽고 빠르다. 백종원 사장은 Food 클래스로 서로 다른 객체를 많이 많이 만들어 대박이 났다...!! 그 객체들이 우리가 아는 새마..

[19-4 파이썬] 인스턴스(instance), 상태(state)

인스턴스란? 클래스라는 청사진에서 객체를 생성해내는데, 하나의 객체만 생성하는 것이 아니라, 내가 원하는 만큼 무한대로 생성할 수 있다. 이전에 예를 들었던 백종원과 그의 프랜차이즈 음식점을 생각해보자., 백종원은 FoodStore라는 클래스에서 홍콩반점, 새마을식당, 역전우동 객체를 생성해냈다. 이 모든 것이 FoodStore의 객체이긴 하나 이들은 완전히 독립적이다. 파이썬에서는 이 객체들을 "인스턴스(instance)"라고 부른다. 객체란? 기본 청사진은 같지만, 나중에는 파는 음식도 다르고, 오는 손님들도 다르고, 마치는 시간도 다르게 된다. 즉, 어느 순간 속성도 메소드도 달라진다. 파이썬에서는 이 사실을 "상태(state)"가 달라진다고 표현한다.

[19-1 파이썬] 함수를 인수로 사용할 때> 괄호 사용하지 X

함수() 함수의 형태를 생각해보자. 우리는 함수를 쓸 때, 함수 이름 끝에 ()괄호를 붙인다. 이 함수를 활성화하겠다는 뜻이다. len(), list(), tuple(), add() 등 우리가 아는 함수를 사용할 때를 떠올려 보면 거의 대부분 이런 형식이다. functon(argument1, argument2, argument3) 함수를 호출할 때는 위의 형태이다. 괄호 안에 인수(argument)를 넣어준다. 그런데, functon(argument1, argument2=함수) 위의 경우처럼 함수의 인수로, 함수가 들어올 때 예컨데, onkey(key=key, fun=fun)의 경우에는 함수에 괄호를 붙이지 않는다. 예시를 보기 위해, 먼저 onkey()에 대해 알아보자. turtle의 매서드 중 하나인..

[18-7 파이썬] 예술 작품 만들기(파이썬 라이브러리 turtle, colorgram 이용)

파이썬 패키지 turtle과 colorgram을 이용하여 데미안 허스트 Damien Hirst의 spot 그림을 그려보자. 작품에서 이용될 색깔은 아래와 같다. color_list = [(230, 229, 227), (245, 233, 240), (232, 166, 63), (239, 241, 245), (47, 112, 155), (112, 152, 202), (210, 124, 164), (19, 128, 96), (150, 20, 57), (223, 201, 120), (230, 241, 237), (5, 176, 143), (172, 46, 86), (222, 77, 115), (163, 166, 37), (29, 35, 83), (226, 88, 45), (120, 173, 121), (45, ..

[18-1 파이썬] 터틀 실습하기

1단계. 정사각형 그리기 from turtle import Turtle, Screen ninja = Turtle() for i in range(4): ninja.forward(100) ninja.right(90) screen = Screen() screen.screensize(500, 500) screen.exitonclick() 2단계. 점선 그리기 from turtle import Turtle, Screen ninja = Turtle() for i in range(5): ninja.forward(10) ninja.penup() ninja.forward(10) ninja.pendown() screen = Screen() screen.screensize(500, 500) screen.exitonclick..