ํ์์ฑ
ํ์ด์ฌ์ ํ์ฉํด ์์ ํ ํจ์(Function)๋ฅผ ์์ฑํ๊ณ ๋ค๋ฃจ๋ ์ค, ํจ์๋ฅผ ํธ์ถํ ๋์ ์ ์ฉํ๊ฒ ์ฐ์ผ ์ ์๋ "Python ๋ด DocString"์ ์๊ฒ ๋์ต๋๋ค. ํจ์๋ฅผ ํธ์ถํ ๋๋ฉด, ์ฝ๋ํธ์ง๊ธฐ ์ฐฝ์ ๋ฉ๋ฌ์ ์๋ด๋๋ ํจ์ ์ค๋ช ๋ฌธ๊ตฌ๋ฅผ ๊ฐ๋ฐ์๊ฐ ์ง์ ์์ฑํ ์ ์๊ณ , ์ด๋ฅผ ํตํด ํ์ ์ ์ํต ๋ํ ์ ์ฉํ ๊ฒ ๊ฐ์ ๊ธฐ๋ก์ ๋จ๊ธฐ๊ณ ์ ํฉ๋๋ค.
์ ๊ทผ (์์ฝ)
1. Docstring ์ด๋?
(1.1) ์ ์, ํน์ง
2. Python์์์ ์ฝ๋ ์์
(2.1). (One-line / Mulit-line) Docstring
(2.2). ํจ์ ์์ฑ-์ ์ธ
(2.3). ์ฝ๋ํธ์ง๊ธฐ์์์ Python ์์ฑ์ ์ ๊ทผ
๋ฐฉ๋ฒ
1. Docstring ์ด๋?
(1.1) ์ ์, ํน์ง(์์ฑ๋ฒ)
์ ์ : Docstring์ด๋, ๋ชจ๋, ํจ์, ํด๋์ค ๋๋ ๋ฉ์๋ ์ ์์ ์ฒซ ๋ฒ์งธ ๋ช ๋ น๋ฌธ์ผ๋ก ๋ฐ์ํ๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๋๋ค.
ํน์ง 1. ํฌ๊ฒ "One-line Docstrings"๊ณผ "Multi-line Docstring"์ผ๋ก ๊ตฌ๋ถ๋ ์ ์์ต๋๋ค.
ํน์ง 2. def ํจ์๋ช (): ํจ์๋ฅผ ์ ์ธํ๊ณ ๋ค์ ํ์ """ """ 3์์ ํฐ๋ฐ์ดํ(double-quote)๋ฅผ ์์ฑํด ์ฌ์ฉ์ค๋น๋ฅผ ํ๋ค.
ํน์ง 3. 3์์ ํฐ๋ฐ์ดํ(double-quote) """Docstring ๋ด์ฉ""" ์ฌ์ด์ ์์ฑํ ๋ด์ฉ์ ๊ธฐ์ ํ๋ค.
ํน์ง 4. ํ ํ์์ ํจ์๋ช (), ํจ์๋ฅผ ํธ์ถํด๋ณด๋ฉด ์ฝ๋ํธ์ง๊ธฐ ๋ด์ ๋ด๊ฐ ์์ฑํ Docstring์ด ๋๋ฌ๋๋ค.
2. Python์์์ ์ฝ๋ ์์
(2.1). (One-line / Mulit-line) Docstring
# One-line Docstring
def function(a, b):
"""function(a, b) -> list"""
# Multi-line Docstring
def complex(real=0.0, imag=0.0):
"""Form a complex number.
Keyword arguments:
real -- the real part (default 0.0)
imag -- the imaginary part (default 0.0)
"""
if imag == 0.0 and real == 0.0:
return complex_zero
...
(2.2). ํจ์ ์์ฑ-์ ์ธ
# ์ค์ ์์
# title() ํจ์๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ์์
def format_name(f_name, l_name):
"""
format_name ํจ์๋ ๋ ์ธ์๋ฅผ ๋ฐ์์ ์ด๋ฅผ title case version์ผ๋ก
๋ง๋ค์ด return ํด์ฃผ๋ ํจ์์ด๋ค.
"""
if f_name == "" or l_name == "":
return "You didn't provide valid inputs."
formated_f_name = f_name.title()
formated_l_name = l_name.title()
return f"Result: {formated_f_name} {formated_l_name}"
(2.3). ์ฝ๋ํธ์ง๊ธฐ์์์ Python ์์ฑ์ ์ ๊ทผ
์์ฒ๋ผ, Docstring์ ์์ฑํด์ค ํจ์๋ฅผ ํ ํ์์ ํ์ดํํ๋ ๊ฒ๋ง์ผ๋ก๋ ํด๋น ํจ์์ ๋ํ Docstring์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. (์ด๋ฅผ python์ ์์ฑ์ ์ ๊ทผํ๋ค๋ ํํ์ผ๋ก ์ผ๋ค.)
์ด์์ผ๋ก, Python ๋ด Docstring์ ์์ฑ ๋ฐฉ๋ฒ์ ํ์ตํด๋ดค์ต๋๋ค.
์ถ๊ฐ ์ง๋ฌธ์ ๋๊ธ์ ๋ฌ์์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค^^!
์ค๋๋ ํ์ดํ ์ ๋๋ค!
๋๊ธ