파이썬 공부 13

*args 인자가 있는 데코레이터 함수 실습하기

함수 파라미터 앞에 아스테리스크(*)를 붙이면, 함수를 호출할 때 몇 개의 인수라도 허용한다는 뜻이다. 아래의 코드에서 사용자 정의 함수를 만들었는데, 파라미터로 *number를 적어서 여러 개의 파라미터를 가지도록 했다. def calculate(*number): print(f"결과값은 {number[0] + number[1] + number[2]}") calculate를 호출해보자. calculate(1,2,3) >>결과값은 6 이번에는 calculate 함수에 새로운 기능을 더해주는 decorator 함수를 만들 것이다. 아래의 조건을 충족시켜서 데코레이터 함수를 만들어보자. 1. 이름은 decorated라고 한다. 2. 함수의 이름을 호출한다. 3. 첫 번째, 두 번째, 세 번째 인수를 호출한다...

[24-1 파이썬] 뱀 게임 만들기 4(최고 점수 기록하기)

오늘은 업무 자동화의 기본기이기도 한 파일 저장 기능을 배우는데 예제로 쓸 문제를 만들어보겠다. 이전에 만들었던 뱀 게임에 새로운 변수 high_score를 추가하는 건데, 이전에 했던 게임 결과 중에 최고 점수를 보여주는 것이다. 이전과 다른 점은, 게임을 종료한 후에도 기록을 남겨 이전 플레이어의 최고 점수와 나의 점수를 비교할 수 있도록 만든다는 것이다. 아래는 유데미에서 다운로드한 최종 코드이다. 최종 영상은 아래와 같다. 1. 점수판에 점수를 기록하고, 뱀을 다시 생성한다. main.py from turtle import Screen from snake import Snake from food import Food from scoreboard import Scoreboard import time..

[21-2 파이썬] 터틀 distance()

distance() distance 메서드는 뒤에 오는 argument에 따라 해석이 달라진다. 총 2가지 케이스가 있다. 첫 번째! ★.distance(♡) : ★로부터 ♡까지의 거리 ninja = Turtle(shape = "turtle") circle = Turtle(shape = "circle") circle.forward(100) print(circle.distance(ninja)) ★.distance(x, y) : ★로부터 (x, y)까지의 거리 from turtle import Turtle, Screen screen = Screen() screen.setup(height=600, width=800) #기준점 center= Turtle(shape="circle") center.shapesize..

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

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

[17-2 파이썬] 파스칼케이스, 캐멀케이스, 스네일케이스

이름 만드는 방법에 대해 알아보자. 총 3가지 방법을 소개한다. 예) My name is olivia 1. 파스칼케이스 PascalCase 수학자 파스칼의 이름을 본땄다. 앞글자를 모두 대문자로 쓰고, 띄어쓰기 없이 이어붙인다. 클래스 명을 만들 때 주로 쓰인다. MyNameIsOlivia 2. 캐멀케이스 camalCase 낙타의 등모양이라는 뜻의 캐멀이다. 낙타 등을보면 오르락 내리락 되어 있다. 이것처럼 글자도 낙타의 등모양처럼 만든다. 첫 번째 단어의 시작만 소문자로 하고, 나머지 단어의 앞글자는 모두 대문자로 쓰며, 띄어쓰기 없이 이어붙인다. myNameIsOlivia 3. 스네일케이스 snail_case 달팽이는 바닥을 질질 끌면서 다닌다. 또 다니면서 끈적한 액을 남기며 흔적을 남긴다. 이것처..