โท ํจ์์ ๊ธฐ๋ณธ ํํ
def ํจ์ ์ด๋ฆ( ):
๋ฌธ์ฅ
โท ํจ์์ ๋งค๊ฐ๋ณ์ ๋ง๋ค๊ธฐ
def ํจ์ ์ด๋ฆ(๋งค๊ฐ๋ณ์, ๋งค๊ฐ๋ณ์, โโโ):
๋ฌธ์ฅ
๋งค๊ฐ๋ณ์๋ ์์ ๊ฐ์ด ํจ์๋ฅผ ์์ฑํ ๋ ๊ดํธ ๋ด๋ถ์ ์๋ณ์๋ฅผ ์ ๋ ฅํด์ ๋ง๋ ๋ค.
(↓์์↓)
→ 'print_n_times'๋ผ๋ ํจ์๋ฅผ ์์ฑํ๊ณ , 'value'์'n'์ด๋ผ๋ ์๋ณ์๋ฅผ ์ ๋ ฅํจ
(์ด์ 'value'์'n'์ ๋งค๊ฐ๋ณ์๊ฐ ๋ ๊ฒ. ์ดํ, ํจ์๋ฅผ ํธ์ถํ ๋, ๊ฐ์ ์ ๋ ฅํด์ ํจ์๋ก ์ ๋ฌํ ์ ์์.)
→ ๋งค๊ฐ๋ณ์ value์๋ "ํธ๋ฐ์ค", ๋งค๊ฐ๋ณ์ n์๋ 5๊ฐ ๋ค์ด๊ฐ
→ ์คํ ๊ฒฐ๊ณผ: ํธ๋ฐ์ค๊ฐ 5๋ฒ ์ถ๋ ฅ๋จ
๐ก์ฃผ์๐ก
ํจ์๋ฅผ ์์ฑํ ๋ ๋งค๊ฐ๋ณ์๋ฅผ ๋ง๋ค์๋๋ฐ,
ํจ์๋ฅผ ํธ์ถํ ๋ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฃ์ง ์๊ฑฐ๋, ๋ ๋ง์ด ๋ฃ์ผ๋ฉด ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํจ.
๊ทธ๋ฌ๋ฏ๋ก ํจ์๋ฅผ ํธ์ถํ ๋๋ ํจ์๋ฅผ ์ ์ธํ ๋์ ๊ฐ์ ๊ฐ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ ฅํด์ผ ํจ.
โท ๊ฐ๋ณ ๋งค๊ฐ๋ณ์
๊ทธ๋ฌ๋ ์ง๊ธ๊น์ง ๋ง์ด ๋ดค๋ print( ) ํจ์๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ํ๋ ๋งํผ ์ ๋ ฅํ ์ ์์๋ค.
์ด๋ ๊ฒ ๋งค๊ฐ๋ณ์๋ฅผ ์ํ๋ ๋งํผ ๋ฐ์ ์ ์๋ ํจ์๋ฅผ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ ํจ์๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ฐ๋ณ ๋งค๊ฐ๋ณ์ = ๋งค๊ฐ๋ณ์ ๊ฐ์๊ฐ ๋ณํ ์ ์๋ค๋ ์๋ฏธ
def ํจ์ ์ด๋ฆ(๋งค๊ฐ๋ณ์, ๋งค๊ฐ๋ณ์, โโโ, *๊ฐ๋ณ ๋งค๊ฐ๋ณ์):
๋ฌธ์ฅ
๊ฐ๋ณ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ๋๋ ์ ์ฝ์ด ์๋ค.
โ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ ๋ค์๋ ์ผ๋ฐ ๋งค๊ฐ๋ณ์๊ฐ ์ฌ ์ ์๋ค.
โก ๊ฐ๋ณ ๋งค๊ฐ๋ณ์๋ ํ๋๋ง ์ฌ์ฉํ ์ ์๋ค.
์ด๋ฌํ ์ ์ฝ์ด ์๋ค๋ฉด, ์ด๋์๋ถํฐ ์ด๋๊น์ง๊ฐ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์์ธ์ง ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ง๋ค์ด์ง ๊ท์น์ด๋ค.
(↓์๋ ์์ ์ฐธ๊ณ ↓)
(์ ์์๋ ๋ฐ๋ณต๋ฌธ์ ๋ ๋ฒ ์ฌ์ฉํด์ ์ถ๋ ฅํ ๊ฒ)
๋ง์ฝ print_n_times("ํธ๋ฐ์ค๋", "๋๋ฌด", "๊ท์ฝ๋ค", 3)์ฒ๋ผ ๋ง ์ฌ์ฉํ ์ ์์๋ค๋ฉด??
์ด๋ค ๊ฒ์ด ๊ฐ๋ณ ๋งค๊ฐ๋ณ์์ด๊ณ , ์ด๋ค ๊ฒ์ด ๋งค๊ฐ๋ณ์ n์ธ์ง ๊ตฌ๋ถํ๊ธฐ ํ๋ค์์ ๊ฒ์ด๋ค.
→ ๊ทธ๋์ ๋งค๊ฐ๋ณ์ n์ ์์ผ๋ก ์ฎ๊ธฐ๊ณ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ *values๋ฅผ ๋ค๋ก ๋ฏผ ๊ฒ!
(์ ์์๋ ๋ฐ๋ณต๋ฌธ์ ํ ๋ฒ ์ฌ์ฉํด์ ์ถ๋ ฅํ ๊ฒ)
โท ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์
์๋๋ print( ) ํจ์์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ผ๋ก ๋์ค๋ ์ค๋ช ์ด๋ค.
print(value, โโโ, sep=' ', end='\n', file=sys.stdout, flush=False)
์์ ์ ๋ฆฌํ๋ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์์์ ๋ ๊ฐ์ง ์ ์ฝ ์ค ํ๋.
โ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ ๋ค์๋ ์ผ๋ฐ ๋งค๊ฐ๋ณ์๊ฐ ์ฌ ์ ์๋ค.
๊ทธ๋ฐ๋ฐ ์์ print( ) ํจ์๋ฅผ ๋ณด๋ฉด ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ ๋ค์๋ ์ผ๋ฐ ๋งค๊ฐ๋ณ์๊ฐ ์๊ณ ,
ํน์ดํ๊ฒ๋ '๋งค๊ฐ๋ณ์=๊ฐ' ํํ๋ก ๋์ด ์๋ค.
๋ฐ๋ก ์ด๋ฅผ ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ ฅํ์ง ์์์ ๊ฒฝ์ฐ ๋งค๊ฐ๋ณ์์ ๋ค์ด๊ฐ๋ ๊ธฐ๋ณธ๊ฐ์ด๋ค.
๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์ฝ์ด ์๋ค.
โ ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์ ๋ค์๋ ์ผ๋ฐ ๋งค๊ฐ๋ณ์๊ฐ ์ฌ ์ ์๋ค.
์ ์ด๋ฐ ์ ์ฝ์ ๋์์๊น?
01 def print _n_times(value, n=2):
02 for i in range(n):
03 print(value)
04
05 print_n_times("์๋ ํ์ธ์")
<์คํ ๊ฒฐ๊ณผ>
์๋ ํ์ธ์
์๋ ํ์ธ์
์ ์์ ์์ ๋ง์ฝ์ print_n_times(n=2, value) ํํ๋ก ์ฌ์ฉํ ์ ์์๋ค๋ฉด,
์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ ํ ๋น๋์ด์ผ ํ๋์ง, ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ ํ ๋น๋์ด์ผ ํ๋์ง ๋ช ํํ๊ฒ ์ ์ ์๋ค.
๊ทธ๋์ ์ด๋ฌํ ์ ์ฝ์ ๋ ๊ฒ์ด๋ค.
โท ํค์๋ ๋งค๊ฐ๋ณ์
๋จผ์ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ๋จผ์ ์ดํด๋ณด์.
โ๏ธ ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์๊ฐ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์ ์์ ์ฌ ๋
def print_n_times(n=2, *values):
for i in range(n):
for value in values:
print(value)
print( )
print_n_times("์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค")
๊ฒฐ๊ณผ๋ ์ด๋ป๊ฒ ๋์ฌ๊น?
Traceback (most recent call last):
File "/Users/YJ/Practice/CP4/For/test01.py", line 17, in <module>
print_n_times("์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค")
File "/Users/YJ/Practice/CP4/For/test01.py", line 12, in print_n_times
for i in range(n):
^^^^^^^^
TypeError: 'str' object cannot be interpreted as an integer
์์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
โ๏ธ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์๊ฐ ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์ ์์ ์ฌ ๋
def print_n_times(*values, n=2):
for i in range(n):
for value in values:
print(value)
print( )
print_n_times("์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค", 3)
์ด ๊ฒฝ์ฐ์๋ ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋์ฌ๊น?
["์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค"]๋ฅผ 3๋ฒ ์ถ๋ ฅํ๊ฑฐ๋...
["์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค", 3]์ 2๋ฒ ์ถ๋ ฅํ๊ฑฐ๋??
์๋
๊ท์ฌ์ด
ํธ๋ฐ์ค
3
์๋
๊ท์ฌ์ด
ํธ๋ฐ์ค
3
์ด๋ ๊ฒ ์ถ๋ ฅ๋๋ค.
๊ฐ๋ณ ๋งค๊ฐ๋ณ์๊ฐ ์ฐ์ ๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ ๊ฐ์ง๋ฅผ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๊น?
ํ์ด์ฌ์์๋ ์ด๋ฐ ์ํฉ์ ์ํด ํค์๋ ๋งค๊ฐ๋ณ์๋ผ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์๋ค.
๋ฐ๋ก ์์์ ๋ดค๋ ์ฝ๋์์ ["์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค"]๋ฅผ ์ธ ๋ฒ ์ถ๋ ฅํ๋๋ก ์คํํ๋ ค๋ฉด,
print_n_times("์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค", 3)
→ print_n_times("์๋ ", "๊ท์ฌ์ด", "ํธ๋ฐ์ค", n=3)
์ด๋ ๊ฒ ๋ฐ๊ฟ์ ์คํํ๋ฉด ์๋์ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
์๋
๊ท์ฌ์ด
ํธ๋ฐ์ค
์๋
๊ท์ฌ์ด
ํธ๋ฐ์ค
์๋
๊ท์ฌ์ด
ํธ๋ฐ์ค
์ด์ฒ๋ผ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ ์ง์ ํด์ ์ ๋ ฅํ๋ ๋งค๊ฐ๋ณ์๋ฅผ ํค์๋ ๋งค๊ฐ๋ณ์๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ํธ์ถ: ํจ์๋ฅผ ์คํํ๋ ํ์
๋งค๊ฐ๋ณ์: ํจ์์ ๊ดํธ ๋ด๋ถ์ ๋ฃ๋ ๊ฒ์ ์๋ฏธ
๋ฆฌํด๊ฐ: ํจ์์ ์ต์ข ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์๋ฏธ
๊ฐ๋ณ ๋งค๊ฐ๋ณ์ ํจ์: ๋งค๊ฐ๋ณ์๋ฅผ ์ํ๋ ๋งํผ ๋ฐ์ ์ ์๋ ํจ์
๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์: ๋งค๊ฐ๋ณ์์ ์๋ฌด๊ฒ๋ ๋ฃ์ง ์์๋ ๋ค์ด๊ฐ๋ ๊ฐ
_Next
ํจ์์ ํ์ฉ
(์ฐธ๊ณ )ํผ์๊ณต๋ถํ๋ํ์ด์ฌ_ํ๋น๋ฏธ๋์ด
'ํผ๊ณตํ(python)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[04-3] while ๋ฐ๋ณต๋ฌธ (+ for ๋ฐ๋ณต๋ฌธ) (0) | 2024.02.14 |
---|---|
[04-2] ๋์ ๋๋ฆฌ์ ๋ฐ๋ณต๋ฌธ (0) | 2024.02.14 |
[04-1] ๋ฆฌ์คํธ์ ๋ฐ๋ณต๋ฌธ (2) | 2024.01.30 |
[03-2] ์กฐ๊ฑด๋ฌธ_if~else์ elif ๊ตฌ๋ฌธ (0) | 2024.01.29 |
[03-1] ์กฐ๊ฑด๋ฌธ_๋ถ ์๋ฃํ๊ณผ if ์กฐ๊ฑด๋ฌธ (0) | 2024.01.29 |