μ¬μ©μ μ μ ν¨μλ μ¬μ©μκ° νΉμ μμ μ μννκΈ° μν΄ μ§μ μ μν ν¨μλ₯Ό μλ―Ένλ€. νμ΄μ¬μλ λ§μ λ΄μ₯ ν¨μλ€μ΄ μμ§λ§, λλ‘λ μ°λ¦¬μ μꡬμ¬νμ λ§κ² λμνλ ν¨μλ₯Ό μ§μ λ§λ€μ΄μΌ νλ€.

μ¬μ©μ μ μ ν¨μμ κΈ°λ³Έ ꡬ쑰λ λ€μκ³Ό κ°λ€.
def ν¨μλͺ
(λ§€κ°λ³μ1, λ§€κ°λ³μ2, ...):
# ν¨μ λ΄μ©
return κ²°κ³Όκ°
def func1():
print('πΉ: μ°μ°')
func1()
func1()
func1()
> πΉ: μ°μ°
> πΉ: μ°μ°
> πΉ: μ°μ°
for i in range(5):
func1()
> πΉ: μ°μ°
> πΉ: μ°μ°
> πΉ: μ°μ°
> πΉ: μ°μ°
> πΉ: μ°μ°
def func2(num):
print(f'μ
λ ₯λ°μ μ«μ: {num}')
func2(100)
func2(5)
> μ
λ ₯λ°μ μ«μ: 100
> μ
λ ₯λ°μ μ«μ: 5
def func3(start, end):
sum = 0
for i in range(start, end+1):
sum += i
print(f'{start}λΆν° {end}κΉμ§μ ν©: {sum}')
func3(1, 10)
func3(1, 100)
> 1λΆν° 10κΉμ§μ ν©: 55
> 1λΆν° 100κΉμ§μ ν©: 5050
def func4():
print('μλ
νμΈμ Python!')
func4()
temp = func4()
print(temp) # ν¨μμμ μ€νλ κ°μ΄ νλ¦°νΈ λκ³ μ¬λΌμ Έμ tempκ° κ°λ¦¬ν¬ κ°μ΄ μμ΄μ§
> μλ
νμΈμ Python!
> μλ
νμΈμ Python!
> None
temp = func4 # μ΄κ±΄ μ€νμ΄ μλλΌ ν¨μμ λ©λͺ¨λ¦¬ μ£Όμ μ μ₯
print(temp)
> <function func4 at 0x7afed7e179a0>
temp()
> μλ
νμΈμ Python!
def func5():
return 'πΉ'
print(func5()) # μΆλ ₯λ ν μ¬λΌμ§
> πΉ
temp = func5()
print(f'tempμ μ μ₯λ κ°: {temp}')
> tempμ μ μ₯λ κ°: πΉ
def func6(num1, num2):
sum = num1 + num2
return sum
print(func6(10, 5)) # μΆλ ₯νκ³ κ°λ¦¬ν¬ κ² μμ΄ μ¬λΌμ§
temp = func6(10, 5) # tempμ κ° μ μ₯λ¨
print(temp)
> 15
> 15
print(func6(10))
> TypeError: func6() missing 1 required positional argument: 'num2'
def func6(num1=0, num2=0):
sum = num1 + num2
return sum
print(func6()) # num1=0, num2=0
print(func6(10)) # num1=10, num2=0
print(func6(10, 3)) # num1=10, num2=3
> 0
> 10
> 13
print(func6(, 3))
print(func6(None, 3))
> SyntaxError: invalid syntax
> TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
print(func6(num2=3)) # num1=0, num2=3
> 3
ν¨μλ₯Ό νΈμΆν λ *λ₯Ό μ¬μ©νλ©΄ μνμ€(리μ€νΈ, νν λ±)μ μμλ₯Ό κ°λ³μ μΈ μμΉ μΈμλ‘ νμ΄μ μ λ¬ν μ μλ€.
def func7(*args):
return args
print(func7()) # λΉ νν μμ±
print(func7(10, 30))
print(func7(10, 30, 70, 90, 100)) # ννμ μμ μ μ μ½μμ΄ κ° λ³κ²½ κ°λ₯
> ()
> (10, 30)
> (10, 30, 70, 90, 100)
def func8(id, name, age):
print(f'μμ΄λ: {id}')
print(f'μ΄λ¦: {name}')
print(f'λμ΄: {age}')
func8('yoomin', 'μ 민콩', 5)
> μμ΄λ: yoomin
> μ΄λ¦: μ 민콩
> λμ΄: 5
func8(age=5, id='yoomin', name='μ 민콩') # λ§€κ°λ³μλ§ λ§μΌλ©΄ μμ μκ΄ X
> μμ΄λ: yoomin
> μ΄λ¦: μ 민콩
> λμ΄: 5
dic1 = {'age':5, 'id':'yoomin', 'name':'μ 민콩'}
func8(**dic1) # λμ
λλ¦¬λ‘ λ£μ λ μμ **
> μμ΄λ: yoomin
> μ΄λ¦: μ 민콩
> λμ΄: 5
func8(*dic1) # *μ΄ νλ λΉ μ§λ©΄ ν€κ° κ°μΌλ‘ μ λ¬
> μμ΄λ: age
> μ΄λ¦: id
> λμ΄: name
def func9(num1, num2):
return num1 + num2
result1 = func9(10, 3)
print(result1)
> 13
def func10(num1, num2):
return num1+num2, num1-num2, num1*num2, num1/num2 # μ¬λ¬κ° λ°ν κ°λ₯
result1, result2, result3, result4 = func10(10, 3) # μ¬λ¬ λ³μμ μ°¨λ‘λ‘ λμ
κ°λ₯
print(f'λ§μ
: {result1}')
print(f'λΊμ
: {result2}')
print(f'κ³±μ
: {result3}')
print(f'λλμ
: {result4}')
> λ§μ
: 13
> λΊμ
: 7
> κ³±μ
: 30
> λλμ
: 3.3333333333333335
_, _, result3, _ = func10(10, 3) # μ¬μ©νμ§ μμ λ³μλ₯Ό λ§λ€κ³ μΆμ§ μμλ (λ©λͺ¨λ¦¬ μ μ½μ μν΄) _λ₯Ό ν΅ν΄ νΉμ λ³μλ₯Ό λ§λ€μ§ μμ μ μμ
print(f'κ³±μ
: {result3}')
> κ³±μ
: 30
li1 = [10, 20, 30, 40, 50]
for _, v in enumerate(li1):
print(f'κ°: {v}')
> κ°: 10
> κ°: 20
> κ°: 30
> κ°: 40
> κ°: 50
Noneμ νμ΄μ¬μμ νΉλ³ν κ°μΌλ‘, μλ¬΄λ° κ°μ΄ μμμ νννλ λ° μ¬μ©λλ€. λ€λ₯Έ μΈμ΄μμμ nullλλ nillκ³Ό μ μ¬ν κ°λ μ΄λ€. Noneμ νμ΄μ¬μ λ΄μ₯ μμμ΄λ©°, κ·Έ μμ²΄λ‘ λ°μ΄ν° νμ μ΄ NoneTypeμ΄λ€. λͺ¨λ Noneμ λμΌνλ―λ‘, λ κ°μ Noneκ°μ λΉκ΅ν λ νμ Trueλ₯Ό λ°ννλ€.
num = None
print(num)
> None
def func11(num):
if num >= 10:
return num
print(func11(10))
print(func11(4))
> 10
> None
def func12(num=None):
if num is None:
print('μ λ¬λ κ°μ΄ μμ΅λλ€.')
else:
print(num)
func12(10)
func12()
> 10
> μ λ¬λ κ°μ΄ μμ΅λλ€.
num = None
if num is None:
print('numμ κ°μ μμ΅λλ€.')
# == μ ν΅ν΄ Noneμ λΉκ΅νλ κ²μ κΆμ₯νμ§ μμ
# Noneμ κ°λ¦¬ν€λ λ©λͺ¨λ¦¬ μμ²΄κ° μλ€λ μλ―Έμ΄κΈ° λλ¬Έ
if num == None:
print('numμ κ°μ μμ΅λλ€.')
> numμ κ°μ μμ΅λλ€.
> numμ κ°μ μμ΅λλ€.
li1 = [1, 2, 3, 4, 5]
li2 = [1, 2, 3, 4, 5]
# li1κ³Ό li2μ λ©λͺ¨λ¦¬ μ£Όμκ° λμΌνκ°? (κ°μ²΄ λΉκ΅)
print(li1 is li2)
# li1κ³Ό li2κ° λμΌνκ°? (κ° λΉ)
print(li1 == li2)
> False
> True