1) ํจ์ (Function)
(1) ํจ์ ์ ์ธ
def ํจ์๋ช
(์ธ์):
์ฒ๋ฆฌํ ๋ช
๋ น
์ฒ๋ฆฌํ ๋ช
๋ น
...
return ...
- ํจ์ ์์ ํ๋ผ๋ฏธํฐ(์ธ์)๋ ์์ ์๋ ์๊ณ ์์ ์๋ ์๋ค. [์ ๋ฌ๊ฐ ์ ๋ฌด]
- return๋ฌธ์ ํด๋น ํจ์์์ ๋ฆฌํดํ๊ณ ์ ํ๋ ๊ฐ์ด ์๋ค๋ฉด ์ฌ์ฉํ๊ณ ํน๋ณํ return ํ๊ณ ์ ํ๋ ๊ฐ์ด ์๋ค๋ฉด ์ ์ง ์๋๋ค. [๋ฐํ๊ฐ ์ ๋ฌด]
(2) ๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ๊ฐ
def testFunc(name, age, lang=“python”):
print(name, age, lang)
testFunc(“joe”, 18)
→ ์ด์ฒ๋ผ ํจ์ ํธ์ถ ์, ํด๋น ์ธ์๊ฐ์ ๋ฃ์ด์ฃผ์ง ์์๋ ๊ธฐ๋ณธ๊ฐ์ด ๋ค์ด๊ฐ ์์ด
→ testFunc() ํจ์๊ฐ ์ ์๋๋จ์ ํ์ธํ ์ ์๋ค.
- ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ํจ์ ์ ์ธ ์์ “testFunc(name, age=19, lang)”์ฒ๋ผ ๊ธฐ๋ณธ๊ฐ์ ๋๋ฉด Syntax Error๊ฐ ๋ฐ์ํ๋ค. (non-default argument follows default argument)
- ํจ์ ์ ์ธ ์์, ๊ธฐ๋ณธ๊ฐ์ ํญ์ ๋งจ ๋ค์ชฝ์ ๋์ด์ผ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค!
(3) ํค์๋๊ฐ
def testFunc(name, age, lang):
print(name, age, lang)
testFunc(“Joe”, 18, “Java”)
testFunc(lang=“Python”, name=“Thor”, age=20)
- ํจ์ ์ ์ธ๋ฅผ ์ ์ธํ๊ณ ํด๋น ํจ์๋ฅผ ํธ์ถํ ๋ ์ธ์๊ฐ์ ์์๋๋ก ๋ฃ์ด์ฃผ์ด์ผ ํ๋๋ฐ ํค์๋๊ฐ์ ์ด์ฉํ๋ฉด ์ธ์์ ์์๋ฅผ ๋ค๋ฐ๊ฟ์ ํธ์ถํ ์๋ ์๋ค.
(4) ๊ฐ๋ณ์ธ์
def testFunc(name, age, lang1, lang2, lang3, lang4, lang5):
print(name, age)
print(lang1, lang2, lang3, lang4, lang5)
testFunc(“Joe”, 18, “Python”, “Java”, “c”, “c++”, “php”)
testFunc(“Thor”, 20, “Python”, “”, “”, “”, “”)
def testFunc(name, age, *language):
print(name, age)
for lang in language:
print(lang, end=“ ”)
testFunc(“Joe”, 18, “Python”, “Java”)
testFunc(“Thor”, 20, “Python”, “Java”, “c”, “c++”, “php”)
(5) ํ์ดํ & ์ฝ๋ก [ํ์ ์ฃผ์]
def test(x: str, y: float = 3.14) -> int:
return x + y
result = test(3)
print(result)
- Python3 ๋ฒ์ ์์๋ ํจ์ ์ ์ ์, ํ์ดํ (->) ๋ฌธ์๋ฅผ ์ฌ์ฉํ ์ ์๋๋ฐ ์ด๋ ํจ์ Return ๊ฐ์ ์ฃผ์ ์ญํ ์ ํ๋ค.
- ์๋ฅผ ๋ค์ด, ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ํด๋น ํจ์๋ int ํ์ ์ ๋ฆฌํดํ๋ ํจ์ ์์ ๊ฐ๋ฐ์์๊ฒ ์ฃผ์์ผ๋ก ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค.
- ๋ํ, test() ํจ์๋ฅผ ๋ณด๋ฉด ๋งค๊ฐ๋ณ์์๋ “x : str” ์ฝ๋ก (:) ๊ธฐํธ์ ํจ๊ป ํ์ ์ด ์ ํ์๋ ๊ฒ์ ํ์ธํ ์ ์๋๋ฐ ์ด๋ ๋งค๊ฐ๋ณ์ x ๊ฐ์ ํ์ ์ ๋ํ ์ฃผ์ ์ญํ ์ ํ๋ค.
- ์๋ฅผ ๋ค์ด, test() ํจ์์ ํ๋ผ๋ฏธํฐ๋ก x๋ ๋ฌธ์์ด ํ์ ์ y๋ float ํ์ ์์ ๊ฐ๋ฐ์์๊ฒ ์ฃผ์์ผ๋ก ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค.
- ๋ฌผ๋ก ๋งค๊ฐ๋ณ์๋ Return ๊ฐ์ด๋ ํด๋น ํ์ ์ผ๋ก ๊ฐ์ ํ๋ ๊ฒ์ด ์๋๊ณ ๊ฐ๋ฐ์์๊ฒ ํด๋น ํ์ ์์ ์๋ ค์ฃผ๋ ์ฃผ์ ์ญํ ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํ์ ์ ์ฌ์ฉํ๋คํด์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง๋ ์๋๋ค.
๋ฐ์ํ
'๐ง Programming > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python - ๋ด์ฅํจ์ (zip) (0) | 2023.08.14 |
---|---|
Python - ๋ด์ฅํจ์ (map, filter) (0) | 2023.08.14 |
Python - ํ ์ค ๋ณตํฉ๋ฌธ (if, for) (0) | 2023.08.04 |
Python - ํ ์ค for๋ฌธ (Comprehension) (0) | 2023.08.04 |
Python - ํ ์ค if๋ฌธ (0) | 2023.08.04 |