· ν¨μ --- ν¨μλͺ ()
맀κ°λ³μ (Parameter) μ λ ₯ λ°κ³ , 맀κ°λ³μλ₯Ό κ°κ³΅-μ²λ¦¬ν΄μ λ°νκ°μ λλ €μ€λ€.
ν¨μ νΈμΆ -> ν¨μ μ€ν -> κ²°κ³Ό λ°ν -> λ°νκ° λμ
def plus(v1,v2):
result = 0
result = v1 + v2
return result
hap = 0
hap = plus(100,200)
print("100κ³Ό 200μ plus() ν¨μ κ²°κ³Όλ %d" % hap)
· μ§μ Local λ³μ , μ μ Global λ³μ
μ§μλ³μλ ν¨μ λ΄μμλ§ μ κ·Ό κ°λ₯
μ μ λ³μλ λ€μν ν¨μμμ μ κ·Ό κ°λ₯ (μ μΈ μμΉλ μ, μλ μκ΄μμ)
· μ°μ μμ : μ§μλ³μ > μ μλ³μ
· global μμ½μ΄
ν¨μ μμμ μ¬μ©λλ λ³μλ₯Ό μ μλ³μλ‘ μ¬μ©νκ³ μΆμ λ
glovbal μμ½μ΄λ₯Ό ν΅ν΄ μ μλ³μλΌλ κ²μ λͺ μν΄μΌνλ€.
global a
· ν¨μμ λ°νκ°
- λ°νκ° μλ ν¨μ
return 'λ°νκ°'
- λ°νκ° μλ ν¨μ
retrun λ¬Έ μλ΅
- λ°νκ° μ¬λ¬κ° ν¨μ
λ°ν κ°μ 리μ€νΈμ λ΄μ λ°νν¨.
def multi(v1,v2):
List = []
res1 = v1 + v2
res2 = v1 - v2
List.append(res1)
List.append(res2)
return List
myList = []
myList = multi(100,200)
hap = myList[0]
sub = myList[1]
hap, sub = multi(100,200)
μ μ½λλ‘ μμ±μ λ³λλ‘ λ¦¬μ€νΈλ₯Ό λ§λ€μ§ μμλ λλ€.
return res1, res2
νμ΄μ¬μ μ¬λ¬ κ°μ κ°μ λ°ννλ λ¬Έλ²μ νμ©νλ€.
- pass μμ½μ΄
μ΄λ¦λ§ λ§λ€μ΄λκ³ λ΄μ©μ pass μμ½μ΄λ₯Ό ν΅ν΄ λΉμλ μ μλ€.
def myFunc() :
pass
· ν¨μμ 맀κ°λ³μ μ λ¬
- κ°μ μν μ λ¬
κ° μ체 μ λ¬, κ°μ΄ 볡μ¬λλ λ°©μ
- μ°Έμ‘°μ μν μ λ¬
리μ€νΈ,νν,λμ λ리,μΈνΈ = μ£Όμ 곡μ
- 맀κ°λ³μ κ°μλ₯Ό μ§μ ν΄ μ λ¬
맀κ°λ³μ κ°μμ λ§μΆμ΄ νΈμΆν΄μΌν¨
def func(v1,v2):
...
hap = func(1,2)
-맀κ°λ³μμ κΈ°λ³Έ κ°μ μ€μ ν΄ λκ³ μ λ¬
맀κ°λ³μμ κΈ°λ³Έ κ° μ€μ
def func(v1,v2,v3=0) :
- 맀κ°λ³μμ κ°μλ₯Ό μ§μ νμ§ μκ³ μ λ¬ --- κ°λ³ 맀κ°λ³μ Arbitrary Argument List
맀κ°λ³μ λͺ μμ * μ λΆμ΄λ©΄ λ¨.
맀κ°λ³μκ° νν νμμΌλ‘ λμ΄μ ννμ μ²λ¦¬νλ λ°©μμΌλ‘ ν¨μ μμμ μ¬μ©κ°λ₯
def func( *para ):
return = 0
for num in para :
result = result + para
return result
func(1,2,3,4)
func(1,2,3)
**μ κ²½μ°μλ λμ λ리νμμΌλ‘ μ²λ¦¬λλ©° , 맀κ°λ³μλ₯Ό ν€=κ°μΌλ‘ μ¬μ©ν΄μΌν¨
def func(**para) :
for k in para.keys() :
print(k,para[k])
func(μλ
=1,νμΈμ=2)
· λͺ¨λ
ν¨μμ μ§ν©
import λͺ¨λμ΄λ¦
λ¬Έμ ν΅ν΄μ ν¨μ νΈμΆμ ν μ μλ€.
· λͺ¨λ μμ±, μ¬μ©
λͺ¨λ νμΌ, νΈμΆ νμΌμ λͺ¨λ κ°μ ν΄λ μ μμ΄μΌ νλ€.
import Module1
Module1.func1()
from λͺ¨λλͺ
import ν¨μ1,ν¨μ2,ν¨μ3
from λͺ¨λλͺ
import *
func1()
λͺ¨λλͺ .ν¨μ() κ° μλ ν¨μ()λ§ μ°κ³ μΆμ λ
· λͺ¨λ μ’ λ₯
- νμ€λ¬λ : νμ΄μ¬μμ μ 곡νλ λͺ¨λ
- μ¬μ©μ μ μ λͺ¨λ : μ§μ λ§λ€μ΄μ μ¬μ©νλ λͺ¨λ
- μλ νν° λͺ¨λ 3rd party : μΈλΆ νμ¬, λ¨μ²΄μμ μ 곡νλ λͺ¨λ
import sys
print(sys.builtin_module_names)
import math
dir(math) ##λͺ¨λλ³λ‘ μ 곡λλ ν¨μ νμΈ ##
· ν¨ν€μ§
μ¬λ¬ λͺ¨λμ λͺ¨μ λμ κ² (ν΄λ νν)
import ν¨ν€μ§λͺ
.λͺ¨λλͺ
import ν¨μλͺ
import pakage.Module1 import *
· λ΄λΆν¨μ
ν¨μ μμ ν¨μκ° μλ νν
def outFunc(v1,v2):
def inFunc(num1,num2):
return num1+num2
return inFunc(v1,v2)
print(outFunc(10,20))
κ²°κ³Ό => 30
λ΄λΆν¨μλ μ§μλ³μμ λΉμ·ν¨. ν΄λΉν¨μ μμμλ§ μ¬μ© κ°λ₯
λ¨λ νΈμΆνλ©΄ μ€λ₯ λ°μ.
· λλ€ν¨μ + map() ν¨μ
ν¨μλ₯Ό ν μ€λ‘ κ°λ¨νκ² λ§λ€μ΄μ€
map (ν¨μλͺ ,리μ€νΈ) ν¨μ : 리μ€νΈμ ν¨μ μμμ νκΊΌλ²μ μ μ© μν¨λ€.
def hap(num1,num2):
res = num1 + num2
return res
print(hap(10,20))
hap2 = lambda num1, num2 : num1 + num2
print(hap2(10,20))
##맀κ°λ³μ κΈ°λ³Έκ°##
hap3 = lambda num1=10, num2= 20 : num1 + num2
print(hap3())
print(hap3(100,200)) ## κΈ°λ³Έκ° λ¬΄μ ##
· μ¬κ·ν¨μ --- ν©ν 리μΌ
μκΈ° μμ μ νΈμΆνλ€.
def selfCall() :
print('ν', end='')
selfCall()
selfCall()
무ν루ν λ°©μ§λ₯Ό μν΄ μ€μ§ 쑰건μ κΌ λ£μ΄μΌνλ€.
def factorial(num) :
if num <= 1 :
return num
else :
retrun num * factorical(num-1)
print(factorial(4))
print(factorial(10))
=24
=3628800
ν©ν λ¦¬μΌ κ° κ΅¬νλ ν¨μ
10! = 10x(10-1)! μ κ°λ€λ μ±μ§μ μ΄μ©.
· yield ν¨μ ---- μ λλ μ΄ν° Generator μμ±μ ν¨μ
ν¨μλ₯Ό μ’ κ²°νμ§ μκ³ κ°μ κ³μ λ°ννκ³ μΆμΌλ©΄ yield λ¬Έ μ¬μ©
def genFunc():
yield 1
yield 2
yield 3
print(list(genFunc())
=> 123
μ λλ μ΄ν° ν¨μ (yield ν¨μκ° ν¬ν¨λ ν¨μ)
μ λλ μ΄ν°λ yieldλ¬ΈμΌλ‘ κ°μ λ°νν ν κ³μ μ§νν¨