python์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด,
c, java ๋ ์ปดํ์ผ ์ธ์ด
python์ ๋ฌธ๋ฒ์ด ์ฝ๊ณ ๊ฐ๊ฒฐํ๊ณ , ์์ฐ์ฑ์ด ์ข์์ ์ฝ๋์ ๊ฐ๋ ์์ด ๋ค๋ฅธ ์ธ์ด๋ณด๋ค ์ข๋ค
์ฝ๋ ์ปจ๋ฒค์
๋ค๋ฅธ์ฌ๋๋ค๊ณผ ํ์ ์ ํ ๋, ๋ณ์๋ฅผ ์ ์ธํ ๋๋ ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ฝ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฝ๋๋ก ์ ํด๋์ ์ฝ์์ด๋ค
์์ง์ผ๋ ์ ๋์๊ฐ๊ธด ํจ!
ํ ํ๋ก์ ํธ ํ ๋ ๋ฏธ๋ฆฌ ์ ํด๋๊ณ ์์ํ๋ฉด ์ข์ ๋ฏ!!
ํ์ด์ฌ ์ปจ๋ฒค์ ๊ฐ์ด๋
https://peps.python.org/pep-0008/
PEP 8 – Style Guide for Python Code | peps.python.org
PEP 8 – Style Guide for Python Code Author: Guido van Rossum , Barry Warsaw , Nick Coghlan Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013 Table of Contents This document gives coding conventions for the Python co
peps.python.org
ํ์ด์ฌ ๋ค์ด๋ฐ ์ปจ๋ฒค์ (์ธ์ด๋ง๋ค ๋ค๋ฅด๋ค!)
1. Pascal : ๊ฐ ๋จ์ด์ ์ฒซ๊ธ์๋ฅผ ๋๋ฌธ์๋ก
2. Snake : ๊ฐ ๋จ์ด๋ฅผ _๋ก ๊ตฌ๋ถ
3. Camel : ์ฒซ ๋จ์ด ๊ธ์ ์๋ฌธ์, ๋๋จธ์ง ๋จ์ด๋ ์ฒซ๊ธ์๋ฅผ ๋๋ฌธ์
๋ฑ๋ฑ ๋ง์๋ฐ ์์ 3๊ฐ์ง๊ฐ ์ ์ผ ์ ์ฐ์
ํด๋์ค๋ pascal
ex) class SomeClassName:
ํจ์, ๋ณ์์ ์ธ ์ snake :
ex) def some_function_name(),
์์๋ ๋๋ฌธ์
ex) PIE = 3.14
python ๋ณ์์ ์ธ
๋ ๊ฐ ์ด์์ ๋ณ์๋ฅผ ํ๋ฒ์ ์ ์ธํ ์ ์๋ค.
๋ฆฌ์คํธ๋!
๋ณ์์ ์ฒซ ๋ฌธ์์ ์ซ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค!
I(๋๋ฌธ์ i), l(์๋ฌธ์ L), O(๋๋ฌธ์ o)์ ๊ฐ์ ๋ฌธ์๋ฅผ ๋จ์ผ ๋ฌธ์ ๋ณ์๋ก ์ ์ธํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์!
ํฐํธ์ ๋ฐ๋ผ I, l, 1 ํน์ 0, O ๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ๋ชปํ ์ ์๊ธฐ ๋๋ฌธ
list, type, class์ ๊ฐ์ด python์์ ์ด๋ฏธ ์ ์ธ ๋์ด ์๋ ๋จ์ด๋ฅผ ๋ณ์ ๋ช ์ผ๋ก ์ ์ธํ๊ณ ์ถ์ ๋๋
์ค๋ณต์ ํผํ๊ธฐ ์์ ๋ณ์ ๋ช ๋ค์ ์ธ๋๋ฐ( _ )๋ฅผ ์ถ๊ฐํ์
ex) list_ = [1,2,3,4]
์๋ฃํ์ ์ข ๋ฅ์ ํน์ง
- integer(int)
- ์ ์ ์๋ฃํ
- number = 10 ๊ณผ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ, ์ ์ ์๋ฃํ์ด๊ธฐ ๋๋ฌธ์ ์์์ ์ ์ง์ํ์ง ์์
- ์ฌ์น์ฐ์ฐ๊ณผ ๊ฐ์ ๊ณ์ฐ์์ ์ง์ํฉ๋๋ค.
- float
- ์ค์ ์๋ฃํ
- number = 10.3 ๊ณผ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ, ์์์ ์ ์ง์.
- ์ฌ์น์ฐ์ฐ๊ณผ ๊ฐ์ ๊ณ์ฐ์์ ์ง์
- ๊ฐ๋ฅํ ์ฌ์ฉํ์ง ๋ง๊ณ ์ ์๋ก ํํํ์
https://www.youtube.com/watch?v=ZQDsWySjY6g
- string(str)
- ๋ฌธ์์ด ์๋ฃํ
- hello = "world!!" ์ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ, ๋ณ์์ ๋ฌธ์๋ฅผ ์ ์ฅํ ์ ์์.
- ํ์ด์ฌ์์๋ ๋ฐ์ดํ( ‘ )์ ์๋ฐ์ดํ( “ )๋ฅผ ๊ตฌ๋ถX. (๋์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํ๋๊ฒ ์ข์)
- ๋ฐ์ดํ ํน์ ์๋ฐ์ดํ๋ฅผ 3๊ฐ๋ฅผ ๋ฌถ์ด์ ๋ฌธ์ฅ ํน์ ์ฃผ์ ํํ ๊ฐ๋ฅ
- list
- numbers = [1, 2, 3, 4, 5] ์ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ 1๊ฐ ์ด์์ ๊ฐ์ ํ ๋ณ์์ ๋ด์ ์ฌ์ฉํ ์ ์์.
- list ์์์๋ integer, float, string, dictionary, list ๋ฑ ๋ค์ํ ์๋ฃํ์ ๋ด์ ์ ์์.
- tuple
- numbers = (1, 2, 3 ,4, 5)์ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ ๋ฆฌ์คํธ์ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ธํ ์ ์์.
- tuple ์๋ฃํ์ ๊ฐ์ ์ ์ธํ ํ ์์๋ค์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ญ์ X.
- set
- numbers = {1, 2, 3, 4, 5}์ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ ๋ฆฌ์คํธ์ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ธํ ์ ์์.
- ๋ฆฌ์คํธ ๋ชป๋ฃ๋๋ค
- set ์๋ฃํ์ ์ค๋ณต ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์X.
- dictonary(dict)
- members = {”1”: “lee”, “2”: “park”, “3”: “kim”} ๊ณผ ๊ฐ์ด {key: value} ์
- key์๋ integer, float, string ์๋ฃํ์ด, value์๋ integer, float, string, dictionary, list ๋ฑ ๋ค์ํ ์๋ฃํ ๋ด๊น
- boolean(bool)
- flag = True ์ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ True ํน์ False ๋ ๊ฐ๋ง ์ฌ์ฉํ ์ ์์
- ์ผ๋ฐ์ ์ผ๋ก ๋ถ๊ธฐ๋ฌธ( if ) ํน์ ํฉ๊ฒฉ / ๋ถํฉ๊ฒฉ๊ณผ ๊ฐ์ ์ํ๋ฅผ ๋ํ๋ผ ๋ ์ฌ์ฉ
๋ณ์ ์ ํจ ๋ฒ์
: ๋ณ์๊ฐ ์ ์ธ๋ ์์น๋ ํค์๋์ ๋ฐ๋ผ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฒ์
์ง์ญ๋ณ์ (ํจ์ ์์์ ์ ์ธ)
์ ์ญ๋ณ์ (ํจ์ ๋ฐ์์ ์ ์ธ)
์ง์ญ๋ณ์(local variable)
def func1():
number = 10 # ํจ์ ๋ด์์ number๋ผ๋ ์ง์ญ ๋ณ์๋ฅผ ์ ์ธ
def func2():
print(number) # func1์์ ์์ฑ๋ ์ง์ญ ๋ณ์๋ funt2์์ ์ ๊ทผํ ์ ์๋ค.
func1()
func2()
"""
Traceback (most recent call last):
File "sample.py", line 8, in <module>
func2()
File "sample.py", line 5, in function2
print(number)
NameError: name 'number' is not defined
"""
func1์์ ์ ์ธ๋ number์ func2์์ ์ฌ์ฉํ ์ ์๋ค.
์ ์ญ๋ณ์(global variable)
number = 10 # ํจ์ ๋ฐ์์ number๋ผ๋ ์ ์ญ ๋ณ์ ์์ฑ
def func():
print(number) # ์ ์ญ ๋ณ์๋ ์์ ๋กญ๊ฒ ์ ๊ทผํ ์ ์๋ค.
func() # ํจ์๋ฅผ ์คํํ๋ฉด 10์ด ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋๋ค.
์ ์ญ๋ณ์๋ก ์ ์ธ๋ number๋ func์์ ์ฌ์ฉ๋ ์ ์๋ค.
๋๋๋ก ์ ์ญ๋ณ์ ์ฌ์ฉ์ ์ง์ํ๋ค.
์ฝ๋๊ฐ ๊ธธ์ด์ง์๋ก ์ถ์ ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค.
PIE = 3.14์ฒ๋ผ ์ ๋์ ์ผ๋ก ๋ณํ์ง ์๋ ์ ์ญ์์๋ฅผ ์ ์ธํ ์ ์ญ๋ณ์๋
๋๋๋ก ์ฌ์ฉํ์ง ์๋๊ฒ์ด ์ข๋ค.
์ ์ญ๋ณ์ ์ ์ํ ์
1. ํจ์ ๋ด์์ ์ ์ญ๋ณ์์ ๊ฐ์ ๋ฐ๊พธ๋ ค๊ณ ํ ๊ฒฝ์ฐ ์ ์ญ๋ณ์์ ๊ฐ์ด ๋ฐ๋๋ ๊ฒ ์ด ์๋๊ณ , ์ง์ญ ๋ณ์๋ก ๋ค์ ์ ์ธ์ด ๋๋ค
number = 10
def func():
number = 5 # ์ ์ญ ๋ณ์์ ๊ฐ์ด ๋ฐ๋๋ ๊ฒ์ด ์๋, ์ง์ญ ๋ณ์๋ก ๋ค์ ์ ์ธ๋ฉ๋๋ค.
print(number)
func() # 5
# ํจ์ ๋ด์์ ์ฌํ ๋น ๋ ์ง์ญ ๋ณ์๋ ์ ์ญ ๋ณ์์ ์ํฅ์ ๋ผ์น์ง ์์ต๋๋ค.
print(number) # 10
2. ์ ์ญ๋ณ์ ์ฌ์ฉ๊ณผ ์ง์ญ๋ณ์๋ฅผ ๋์ผํ ์ด๋ฆ์ผ๋ก ํ ๋น์ ๊ฐ์ด ํ๋ ๊ฒฝ์ฐ, ํด๋น๋ณ์๋ฅผ ์ง์ญ๋ณ์๋ก ๊ฐ์ฃผํ๋ค.
print(number)์์๋ number๋ผ๋ ์ง์ญ๋ณ์๊ฐ ์ ์ธ๋๊ธฐ ์ ์ถ๋ ฅ์ ํ๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ ์๋ฌ ๋ฐ์ํ๋ค.
number = 10
# ์ ์ญ ๋ณ์์ธ 10์ ์ถ๋ ฅํ๊ณ ์ง์ญ ๋ณ์๋ก ๋ค์ ์ ์ธํ๋ ์ฝ๋ ์์ฑ
def func():
print(number)
number = 5
# ์คํ์์ผ ๋ณด๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
func()
"""
Traceback (most recent call last):
File "sample.py", line 7, in <module>
func()
File "sample.py", line 4, in func
print(number)
UnboundLocalError: local variable 'number' referenced before assignment
"""
3. ํจ์ ๋ด์์ ์ ์ญ๋ณ์์ ๊ฐ์ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด global์ ํตํด ํจ์ ๋ด์์ ์ ์ญ๋ณ์๋ฅผ ๋ค์ ํ ๋นํ ์ ์๋ค.
number = 10
def func():
global number # ํจ์์์ number ๋ณ์๋ฅผ ๋ค์ ํ ๋นํ ์ ์๋๋ก ํด์ค๋๋ค.
number = 5 # global ํค์๋๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ ์ญ ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ฉ๋๋ค.
func()
print(number) # 5
'๐๐ช > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python ํน๊ฐ (3) (0) | 2022.09.07 |
---|---|
22. 09. 06 ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ (0) | 2022.09.06 |
Python ํน๊ฐ (2) (0) | 2022.09.06 |
ํ์ด์ฌ ๋ฌธ๋ฒ ๊ธฐ์ด 1์ฃผ์ฐจ(์ฌํ) (0) | 2022.09.01 |
ํ์ด์ฌ ๋ฌธ๋ฒ ๊ธฐ์ด 1์ฃผ์ฐจ ๊ฐ๋ฐ์ผ์ง (0) | 2022.09.01 |
๋๊ธ