ํ์ด์ฌ
[Python] ๋ณ์ Scope (์ ์ญ ๋ณ์์ ์ง์ญ ๋ณ์) ์ ๋ํ ์ดํด
์์ 1 _list = [1, 2, 3, 4] def sum_all(): sum_val = 0 for elem in _list: sum_val += elem return sum_val total_sum = sum_all() print(total_sum) print(sum_val) 10 NameError: name 'sum_val' is not defined ์ ์ญ ๋ณ์๋ ๊ตณ์ด ์ธ์๋ก ๋๊ธฐ์ง ์์๋ ํจ์ ๋ด์์ ์ ์๋ํ๋ค. ์ฆ, ์ ์ญ ๋ณ์๋ ์ด๋์์๋ ์ธ ์ ์๋ค. ์ง์ญ ๋ณ์๋ ๋ด๋ถ Scope๋ฅผ ๋ฒ์ด๋๋ฉด ์ฆ๋ฐํ์ฌ ๋ ์ด์ ์ ๊ทผํ ์ ์๋ค. ์ฆ, ์ง์ญ ๋ณ์๋ ์ด๋์์๋ ์ธ ์ ์๋ค. ์์ 2 ์ฝ๋ 1. _list = [1, 2, 3, 4] def modify(): _list[0] = 10 modify() f..
[Python] ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ ๊ฐ๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ ๊ฒฝ์ฐ์๋ง ์ฝ๋๋ฅผ ์ํํ๊ณ ์ถ์ ๋ ์ฐ๋, ๋งค์ฐ ์ค์ํ ๋ฌธ๋ฒ์ด๋ค. if ์กฐ๊ฑด๋ฌธ if ์กฐ๊ฑด์์ ๋ง์กฑํ ๊ฒฝ์ฐ, if๋ฌธ์ ๋ด๋ถ ์ฝ๋๋ฅผ ์คํํ๋ค. if ์กฐ๊ฑด์: ์กฐ๊ฑด์์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์ํ๋๋ ์ฝ๋ ์์ญ python์์ if๋ฌธ์ ๊ฐ์ฅ ์ค์ํ ์ ์ ๋ค์ฌ์ฐ๊ธฐ๋ค. indent๋ฅผ ํญ์ ์ ํํ ๋ง์ถฐ์ฃผ์ด์ผ ํ๋ค. a = int(input()) b = int(input()) if a >= 1 and b >= 1: a += 3 b += 5 print(f"a = {a}, b = {b}") โผ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ๊ฒฐ๊ณผ >> 1 >> 2 a = 4, b = 7 (TIP) if ์กฐ๊ฑด๋ฌธ์์ and๋ก ์ฐ๊ฒฐ๋ ์์ ์กฐ๊ฑด์์ด False์ด๋ฉด, ๋ค์ ์กฐ๊ฑด์์ ์คํํ์ง ์๋๋ค. ์ฆ ๋ท ์กฐ๊ฑด์์ด ์ค๋ฅ๊ฐ ๋๋ ์ฝ๋์ฌ๋ ์ ์กฐ๊ฑด..
[Python] ์ฌ์น์ฐ์ฐ์ ์ํ ์ฐ์ฐ์
์ฌ์น์ฐ์ฐ ์ํ์ฒ๋ผ ํ๋ก๊ทธ๋๋ฐ์์๋ ์ฌ์น์ฐ์ฐ์ด ์์ฃผ ์ฐ์ธ๋ค. + : ๋ํ๊ธฐ ์ฐ์ฐ - : ๋นผ๊ธฐ ์ฐ์ฐ * : ๊ณฑํ๊ธฐ ์ฐ์ฐ / : ๋๋๊ธฐ ์ฐ์ฐ / ์ฐ์ฐ์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ ํญ์ ์ค์๊ฐ์ด๋ค. a = 3 / 1 print(a) # 3.0 // : ๋๋๊ธฐ - ๋ชซ ์ฐ์ฐ % : ๋๋๊ธฐ - ๋๋จธ์ง ์ฐ์ฐ ** : ์ ๊ณฑ ์ฐ์ฐ a, b = 3, 2 print(a**b) # a^b ์ ์์ ์ค์๊ฐ ๋ง๋๋ฉด ๊ฒฐ๊ณผ๊ฐ์ ์ค์๊ฐ ๋๋ค. ์ฌ์น์ฐ์ฐ ๊ณ์ฐ ์ type์ ๋ ํฐ ๋ฒ์๋ฅผ ๋ฐ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค. a = 1 + 1.0 print(a) # 2.0 ์ฌ์น์ฐ์ฐ ๊ฐ๋ตํ๊ฒ ํํํ๊ธฐ a = a + 5 ์์ ๊ฐ์ด ๋์ผํ ๊ฐ์ ๋ณํ๋ฅผ ์ฃผ๋ ์ฌ์น์ฐ์ฐ์ ์๋์ฒ๋ผ ๊ฐ๋ตํ๊ฒ ํํํ ์ ์๋ค. a += 5 ์ฌ์ฉ ์์ a, b = 10, 4 a += 5 # a = a +..
[Python] Call by Assignment ์ดํดํ๊ธฐ
Python์ ํจ์์ ์ธ์๋ฅผ ์ ๋ฌํ ๋ Call by Assignment ๋ฐฉ์์ผ๋ก ์ ๋ฌ๋๋ค. ์ด ๋ง์ ๋ฌด์จ ์๋ฏธ์ผ๊น? mutable VS immutable ์ฐ์ mutable๊ณผ immutable์ ๊ฐ๋ ๋ถํฐ ์ง๊ณ ๋์ด๊ฐ๋ฉด, python์์ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ด๋ฉฐ ์ด 2๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค. immutable ๊ฐ์ฒด : ๊ฐ์ด ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ฒด int, float, str, tuple ๋ฑ mutable ๊ฐ์ฒด : ๊ฐ์ด ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ฒด (๋จ, ์์ ์ id๊ฐ์ ์ผ์ ํ๊ฒ ์ ์ง) list, dictonary, set ๋ฑ Python์์์ Call By Value VS Call By Reference immutable ๊ฐ์ฒด๊ฐ ํจ์์ ์ธ์๋ก ์ ๋ฌ๋๋ฉด ๋ง์น ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋๋ Call By Value์ฒ๋ผ ๋์ํ๋ค. (์๋ณธ๊ฐ ..
[Python] ํ์ด์ฌ ์ ๋ ฅ ํจ์ input ์ฌ์ฉ๋ฒ ์ ๋ฆฌ
๊ธฐ๋ณธ ์ ๋ ฅ ๋ฐฉ๋ฒ python์์ input()ํจ์๋ฅผ ํตํด ํ ์ค ๋จ์๋ก ๋ฌธ์์ด์ ์ ๋ ฅ ๋ฐ์ ์ ์๋ค. a = input() print(f"a = {a}") โผ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ๊ฒฐ๊ณผ >> Hello World a = Hello World >> 4 a = 4 (์ด๋ 4๋ ๋ฌธ์์ด "4"์ด๋ค.) ๋ฌธ์์ด์ด ์๋ ๋ค๋ฅธ ์๋ฃํ์ผ๋ก ์ ๋ ฅ ๋ฐ๊ธฐ input()ํจ์๋ก ์ ๋ ฅ๋ฐ์ ๋, ์ ๋ ฅ๊ฐ์ ์๋ฃํ์ด ์ ์๋ ์ค์์ฌ๋ ๋ฌธ์์ด๋ก ์ธ์๋๋ค. b = input() print(b + 1) โผ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ๊ฒฐ๊ณผ >> 4 ----> 4 print(b + 1) TypeError: can only concatenate str (not "int") to str ๋ฌธ์์ด์ ์ซ์๋ฅผ ๋ํ ์ ์์ผ๋ฏ๋ก ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด..
[Python] ํ์ด์ฌ ์ถ๋ ฅ ํจ์ print ์ฌ์ฉ๋ฒ ์ ๋ฆฌ
๊ธฐ๋ณธ ์ถ๋ ฅ ๋ฐฉ๋ฒ print ํจ์ ํตํด ํ ๋ฌธ์ฅ ์ถ๋ ฅํ๊ธฐ python3์์ ๋ฌธ์ฅ์ ์ถ๋ ฅํ๊ธฐ ์ํด print()ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ ๊ดํธ ๋ด์ ํฐ ๋ฐ์ดํ๋ ์์ ๋ฐ์ดํ ๋ ์ค ์๋ฌด๊ฑฐ๋ ์ฌ์ฉํด๋ ๋๋ค. python์์ ์์ ๋ฐ์ดํ๋ก ๋ฌถ์ด๋ ๋ฌธ์๊ฐ ์๋ ๋ฌธ์์ด๋ก ์ธ์ํ๋ค. (python์์ ๋ฌธ์ ๊ฐ๋ ์ด ์๋ค.) print("Hello World") print('Hello World') โผ ์ถ๋ ฅ ๊ฒฐ๊ณผ Hello World Hello World ํน์ ๋ฌธ์๋ฅผ ํฌํจ์์ผ ์ถ๋ ฅํ๊ธฐ ๋ฌธ์์ด ๋ด์ ์๋ ํน์ ๋ฌธ์ ์์ \๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด, ์ด๋ฅผ ๊ธฐํธ๊ฐ ์๋ ๋ฌธ์๋ก ์ธ์ํ๋ค. (์์ฃผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ๊ธฐ์ตํ์) print("Let\'s do it") - " , ' ๋ฅผ ํฌํจ์ํฌ ๋, """ ๋๋ ''' ๋ก ์ ์ฒด ๋ฌธ์ฅ์ ๊ฐ์ธ๋ ๋ฐฉ๋ฒ..
![[ํ์ด์ฌ] ๊ธฐ์ต๋ ฅ ํ
์คํธ ๊ฒ์ ์ ์ ๋ณด๋ฉด์ ๋ฐ๋ผ ๋ง๋ค๊ธฐ (pygame) - ์์ฑ ๋ฐ ํ๊ธฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFp99W%2Fbtq2QVjdz6g%2FMZmYTPtDr77vQB9qBTRxbK%2Fimg.png)
[ํ์ด์ฌ] ๊ธฐ์ต๋ ฅ ํ ์คํธ ๊ฒ์ ์ ์ ๋ณด๋ฉด์ ๋ฐ๋ผ ๋ง๋ค๊ธฐ (pygame) - ์์ฑ ๋ฐ ํ๊ธฐ
ํ๋ก๊ทธ๋๋ฐ ๊ต์ก ์ ํ๋ฒ '๋๋ ์ฝ๋ฉ' ๋์ ์๋ก์ด ๊ฐ์ข ๋ด์ฉ์ด pygame์ ์ด์ฉํ ๊ธฐ์ต๋ ฅ ํ ์คํธ ๊ฒ์์ด์๋๋ฐ ๋ง์นจ ์ ๊ฐ ๋ง๋ค์ด ํ๊ณ ์ถ์ดํ๋ ๊ฒ์๊ณผ ๋น์ทํด์ ๋ฐ๋ก ๊ฐ์ ๋ค์ผ๋ฉฐ ์ฝ๋ฉํ์ต๋๋ค. ์ด ์ดํ์ ๊ฑธ์ณ์ ์์ฑํ๊ณ , ๊ฐ์์์ ํ์ง ์์ ์ต์ ๋ ์ถ๊ฐํด๋ดค์ต๋๋ค! 1. ๊ฒ์ ํ๋ ์ด ์์ youtu.be/yvzWmZtHnuI ๊ฒ์ ๊ท์น์ 3์ค๋ก ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1. ํ๋ฉด์ ๋ณด์ด๋ ์ซ์์ ์์น๋ฅผ ๋ชจ๋ ์ธ์ด ํ ์์๋๋ก ํด๋ฆญํ๋ค. 2. ์ซ์๋ 1๋ฒ ์นธ์ ํด๋ฆญํ๊ฑฐ๋ ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ๊ฐ๋ ค์ง๋ค. 3. ์ซ์๋ ๋๋ค์ผ๋ก ๋ฐฐ์น ๋๋ฉฐ, ํ๋ฆฌ๋ฉด ํด๋น ๋ ๋ฒจ์ ์ฌ๋์ ํ๊ฒ ๋๊ณ 3๋ฒ ํ๋ฆฌ๋ฉด ๊ฒ์ ์ค๋ฒ๋ค. ํ ๋ฒ ํด๋ณด๊ณ ์ถ์ผ์๋ฉด ์ ๊ฐ ์์ค ์ฝ๋๋ฅผ ๊นํ๋ธ์ ์ฌ๋ ค๋์์ผ๋ ๊ฐ์ ์ ์ฝ๋๋ฅผ ๋ณต์ฌํ์ ํ ์๋ํฐ ์๋ฌด๋ฐ๋์ ๋ณต๋ถํ์..
[ํ์ด์ฌ] ์ค๋ฝ์ค ๊ฒ์ ์ ์ ๋ณด๋ฉด์ ๋ฐ๋ผ ๋ง๋ค๊ธฐ (pygame) - (1) ๊ธฐ๋ณธ ๊ณผ์ (์์ ์ฐ์ต, ๊ธฐ๋ณธ ํ)
์ด ๊ธ์ '๋๋์ฝ๋ฉ'๋์ 'ํ์ด์ฌ ์ฝ๋ฉ ๋ฌด๋ฃ ๊ฐ์ (ํ์ฉํธ1) - ์ถ์ต์ ์ค๋ฝ์ค ๊ฒ์์ ๋ง๋ค์ด ๋ณด์์. 3์๊ฐ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค.' ๊ฐ์๋ฅผ ๋ณด๊ณ ๋ฐ๋ผ ๋ง๋ ๋ด์ฉ์ ๊ธฐ๋กํด๋์ ๊ธ์ ๋๋ค. ๋จผ์ ๊ฐ์ ์์์ ์ฒซ 1์๊ฐ์ ๊ณต๋ถํ๋ฉฐ ๊ฐ์ด ์์ฑํ ์ฝ๋๋ฅผ ๋จ๊ฒจ๋์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ด๋ฒคํธ ๋ฃจํ ๋ถ๋ถ ์ฝ๋ ๋ด์ฉ์ด ์์ง ์ข ํท๊ฐ๋ฆฌ๋ค์ import pygame ################################################################## pygame.init() # ์ด๊ธฐํ (๋ฐ๋์ ํ์) # ํ๋ฉด ํฌ๊ธฐ ์ค์ screen_width = 480 # ๊ฐ๋ก ํฌ๊ธฐ screen_height = 640 # ์ธ๋ก ํฌ๊ธฐ screen = pygame.display.set_mode((screen_widt..