κ°λ°μμ κ΅μ (3) - μ½λ© μ€νμΌ κ°μ΄λ μ€μνκΈ°. Pythonicν μ½λ μμ±νκΈ°
μ½λ© μ€νμΌ κ°μ΄λλ?
μ½λ© μ€νμΌ κ°μ΄λ - μ½λ© 컨벀μ
λ§μ κ°λ°μλ€μ΄ 곡κ°ν μ μλ―μ΄, μ½κ² μ½νλ μ½λκ° μλ λ°λ©΄ λμ ν λ¬΄μ¨ λ‘μ§μΈμ§ μ΄ν΄κ° κ°μ§ μλ μ½λλ μμ΅λλ€.
λ΄λΆ λ‘μ§μ΄ 볡μ‘νκ² μ½νμλ κ²½μ°μλ μ΄μ©μ μλ€κ³ μΉλλΌλ, λ¨μνκ² λͺ λͺ κ·μΉκ³Ό white spaceλ§ μ μ¬μ©ν΄λ κ°λ μ±μ λ§μ΄ κ°μ ν μ μμ΄μ. μ½νκΈ° μ’μ μ½λκ° μ’μ μ½λκ³ , ν΄λ¦° μ½λλΌκ³ ν μ μμ΅λλ€.
μ½λ©μ ν λ λ³μλͺ μ κΌ μ΄λ κ² ν΄μΌνλ€, λΌλ κ²μ μλμ§λ§ μ΄λ€ μΈμ΄λ₯Ό μ¬μ©νλ κ°λ°μλΌλ©΄ κ·Έ μΈμ΄μ μ½λ© μ€νμΌ κ°μ΄λ, μ¦ μ½λ©μ»¨λ²€μ μ μ€μν΄μ μ½λ©μ νλ κ²μ΄ μ’μ΅λλ€. μ½λ© 컨벀μ μ Java, Java Script λ±λ± μ λ§λ€μ μ묡μ μΈ λ£°μ΄μμ΅λλ€. νμ΄μ¬μ κ²½μ°μλ pep8λΌλ μ½λ© μ€νμΌ κ°μ΄λλ₯Ό μ€μνκ³ , μ΄λ₯Ό μ€μνμ¬ μμ±ν μ½λλ₯Ό νμ΄μ¬μ€λ¬μ΄(Pythonic) μ½λλΌκ³ ν©λλ€.
Pythonicν μ½λ μμ±νκΈ°
κ°λ
μ±μ νμ΄μ¬μ ν° μ₯μ μ€ νλμ
λλ€.
μ΄μ λ μλ²½ν μ½λ μ€νμΌ κ°μ΄λλΌμΈκ³Ό "νμ΄μ¬μ€λ¬μ΄(Pythonic)"ν μ΄λμ(μ½λ μμ±λ²) λλ¬Έμ
λλ€.
νμ΄μ¬μλ pep8μ΄λΌλ μ½λ μ€νμΌ κ°μ΄λλ₯Ό λλΆλΆμ κ°λ°μκ° μ΄λ₯Ό μ€μ¬νλ©° κ°λ°μ νκ³ μμ£ .
κ°λ°μλ€μ΄ λ€ν¨κ» μ묡μ μΌλ‘ λ°λ₯΄λ μ€νμΌμ΄ μλ€λ κ²μ λ§μ λμμ΄ λ©λλ€. κ·ΈλΌ νλνλ μ΄ν΄λ³ΌκΉμ?
μ°Έκ³ μλ£
Whitespace
- ν μ€μ μ½λ κΈΈμ΄κ° 79μ μ΄νμ¬μΌ ν©λλ€.
y = a + a + a + a
- ν¨μμ ν΄λμ€λ λ€λ₯Έ μ½λμ λΉ μ€ λκ°λ‘ ꡬλΆν©λλ€.
class a():
pass
# λΉμ€
# λΉμ€
class b():
pass
# λΉμ€
# λΉμ€
def c():
pass
# λΉμ€
# λΉμ€
- ν΄λμ€μμ ν¨μλ λΉ μ€ νλλ‘ κ΅¬λΆν©λλ€.
class a():
def b():
pass
def c():
pass
μ£Όμ
- μ½λμ λ΄μ©κ³Ό μΌμΉνμ§ μλ μ£Όμμ νΌν©λλ€.
- λΆνμν μ£Όμμ νΌν©λλ€.
μ΄λ¦ κ·μΉ
- λ³μλͺ μμ _(λ°μ€)μ΄ λΆμΌλ©΄ ν¨μ λ±μ λ΄λΆμμλ§ μ¬μ©λλ λ³μλ₯Ό μΌμ»«μ΅λλ€.
_my_list = []
- λ³μλͺ λ€μ _(λ°μ€)μ΄ λΆμΌλ©΄ λΌμ΄λΈλ¬λ¦¬ νΉμ νμ΄μ¬ κΈ°λ³Έ ν€μλμμ μΆ©λμ νΌνκ³ μΆμ λ μ¬μ©ν©λλ€.
import_ = "not_import"
-
μλ¬Έμ l, λλ¬Έμ O, λλ¬Έμ Iλ₯Ό κ°λ₯νλ©΄ μ¬μ©νμ§ μμ΅λλ€.
-
λͺ¨λ(Module)λͺ μ 짧μ μλ¬Έμλ‘ κ΅¬μ±λλ©°, νμνλ€λ©΄ λ°μ€λ‘ λλλλ€.
my_module.py
- ν΄λμ€λͺ μ νμ€μΉΌ μΌμ΄μ€(Pascal Case) 컨벀μ μΌλ‘ μμ±ν©λλ€. λ€μ΄λ° 컨벀μ μ λ€λ₯Ό μ°Έκ³ νμΈμ!
class MyClass():
pass
- νμλͺ μ μλ¬Έμλ‘ κ΅¬μ±νλ νμνλ©΄ λ°μ€λ‘ λλλλ€.
def my_function():
pass
- μμ(Constant)λ _λͺ¨λ λ¨μμμλ§ μ μ_νλ©°, λͺ¨λ λλ¬Έμλ‘ ννν©λλ€. νμνλ€λ©΄ λ°μ€λ‘ λλλλ€.
MY_PI = 3.14
λ€μ΄λ° 컨벀μ (Naming Convention)
μ¬λλ€λ§λ€ λ³μλͺ μ μ λ λ°©μμ΄ λ€λ₯΄λ©΄ μ½λκ° κΉλν΄λ³΄μ΄μ§ μμ κ°λ μ±μ΄ μ’μ§ μμ΅λλ€. ν΅μΌμ±μ κ°κΈ° μν΄μλ μ¬λλ€μ΄ 곡μ νλ μ½λ© μ€νμΌ κ°μ΄λλ₯Ό κ°μ§κ³ μλ κ²μ΄ μ’μ΅λλ€.
κ·Έλμ pep8 μ½λ©μ€νμΌ κ°μ΄λμμλ μ΄λ¦μ μμ±ν λ μ¬μ©νλ λ€μ΄λ° 컨벀μ μ΄ μμ΅λλ€.
λνμ μΈ λ€μ΄λ° 컨벀μ μ snake_case, PascalCase, camelCaseμ λλ€.
- snake_case
- λͺ¨λ 곡백μ "_"λ‘ λ°κΎΈκ³ λͺ¨λ λ¨μ΄λ μλ¬Έμμ λλ€.
- νμ΄μ¬μμλ ν¨μ, λ³μ λ±μ λͺ λͺ ν λ μ¬μ©ν©λλ€.
- ex) this_is_snake_case
- PascalCase
- λͺ¨λ λ¨μ΄κ° λλ¬Έμλ‘ μμν©λλ€.
- UpperCamelCase, CapWordsλΌκ³ λ λΆλ¦½λλ€.
- νμ΄μ¬μμλ ν΄λμ€λ₯Ό λͺ λͺ ν λ μ¬μ©ν©λλ€.
- ex) ThisIsPascalCase
- camelCase
- μ²μμ μλ¬Έμλ‘ μμνκ³ μ΄ν λͺ¨λ λ¨μ΄μ 첫 κΈμλ λλ¬Έμλ‘ ν©λλ€.
- νμ΄μ¬μμλ κ±°μ μ¬μ©νμ§ μμ΅λλ€. (java λ±μμ μ¬μ©)
- ex) thisCamelCase
κ°λ°μμ κ΅μ μ리μ¦
'π± μκΈμκΈλ»κΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Kaggle] μΊμμ μ μΊλ¦°μ΄ μ§ν~!! (0) | 2020.08.26 |
---|---|
맀λ ₯μ μΈ κΉνλΈ νλ‘νμ λ§λ€μ΄λ³΄μμ π» (5) | 2020.08.08 |
κ°λ°μμ κ΅μ (2) - λ²μ κ΄λ¦¬μ Git, κ·Έλ¦¬κ³ Github (0) | 2020.07.27 |
κ°λ°μμ κ΅μ (1) - νμ ν΄ (0) | 2020.07.27 |
μΌκΈμ μ²μ μμν΄λ³΄λ€ (1) | 2020.06.26 |
λκΈ
μ΄ κΈ κ³΅μ νκΈ°
-
ꡬλ
νκΈ°
ꡬλ νκΈ°
-
μΉ΄μΉ΄μ€ν‘
μΉ΄μΉ΄μ€ν‘
-
λΌμΈ
λΌμΈ
-
νΈμν°
νΈμν°
-
Facebook
Facebook
-
μΉ΄μΉ΄μ€μ€ν 리
μΉ΄μΉ΄μ€μ€ν 리
-
λ°΄λ
λ°΄λ
-
λ€μ΄λ² λΈλ‘κ·Έ
λ€μ΄λ² λΈλ‘κ·Έ
-
Pocket
Pocket
-
Evernote
Evernote
λ€λ₯Έ κΈ
-
[Kaggle] μΊμμ μ μΊλ¦°μ΄ μ§ν~!!
[Kaggle] μΊμμ μ μΊλ¦°μ΄ μ§ν~!!
2020.08.26 -
맀λ ₯μ μΈ κΉνλΈ νλ‘νμ λ§λ€μ΄λ³΄μμ π»
맀λ ₯μ μΈ κΉνλΈ νλ‘νμ λ§λ€μ΄λ³΄μμ π»
2020.08.08 -
κ°λ°μμ κ΅μ (2) - λ²μ κ΄λ¦¬μ Git, κ·Έλ¦¬κ³ Github
κ°λ°μμ κ΅μ (2) - λ²μ κ΄λ¦¬μ Git, κ·Έλ¦¬κ³ Github
2020.07.27 -
κ°λ°μμ κ΅μ (1) - νμ ν΄
κ°λ°μμ κ΅μ (1) - νμ ν΄
2020.07.27