-
๐ํจ์(function)
๊ธฐ๋ณธ๊ตฌ์กฐ
def ํจ์์ด๋ฆ(์ ๋ ฅ๊ฐ parameter): ์ํ ๋ฌธ์ฅ
๋งค๊ฐ๋ณ์(parameter)-> ํจ์์ ์ ๋ ฅ๊ฐ์ ๋ฐ๋ ๋ณ์
์ธ์(arguments)-> ํจ์๋ฅผ ํธ์ถํ ๋ ์ ๋ฌํ๋ ์ ๋ ฅ๊ฐdef add(a,b): ->a,b parameter add(3,4) ->3,4 arguments
๐ํจ์์ ์ข ๋ฅ
- ์ ๋ ฅ๊ฐ๊ณผ ๊ฒฐ๊ณผ๊ฐ์ด ์กด์ฌ
def ํจ์ ์ด๋ฆ(parameter): ์ํ ๋ฌธ์ฅ return ๊ฒฐ๊ณผ๊ฐ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์ ๋ณ์=ํจ์์ด๋ฆ(parameter1,parameter2...)
- ์ ๋ ฅ๊ฐ์ด ์๋ ํจ์
def ํจ์ ์ด๋ฆ() return ๊ฒฐ๊ณผ๊ฐ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์ ๋ณ์=ํจ์์ด๋ฆ() #์ฃผ๋ก printํ ๋ ์ฌ์ฉ def say(): return 'Hello' >>>a=say() >>>print(a) Hi
- ๊ฒฐ๊ณผ๊ฐ์ด ์๋ ํจ์
def ํจ์์ด๋ฆ(parameter): ์ํ๋ฌธ์ฅ ํจ์์ด๋ฆ(parameter1,parameter2...) return์ด ์์ >>>def add(a,b): print("%d, %d์ ํฉ์ %d์ ๋๋ค."%(a,b,a+b)) >>>add(3,4) 3,4์ ํฉ์ 7์ ๋๋ค. >>>a=add(3,4) >>>print(a) None #addํจ์ ์์ print๊ฐ ๊ธฐ๋ฅํ ๋ฟ ๋ณ์๊ฐ ๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ ์๋. #return value๊ฐ None. print๋ง ์ํ.
- ์ ๋ ฅ๊ฐ๋ ๊ฒฐ๊ณผ๊ฐ๋ ์๋ ํจ์
>>>def say(): print('Hello') >>>say() Hello #ํจ์์ด๋ฆ() ์ ํํ๋ก ์ฌ์ฉ <๋งค๊ฐ๋ณ์ ์ง์ ํ์ฌ ํธ์ถํ๊ธฐ> a,b๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ addํจ์์ ๋ํ์ฌ result=add(a=3,b=7) ํํ๋ก ์ง์ ๊ฐ๋ฅ
์ ๋ ฅ์ด ๋ช ๊ฐ๊ฐ ๋ ์ง ๋ชจ๋ฅผ ๋
def ํจ์์ด๋ฆ(*๋งค๊ฐ๋ณ์):
์ ๋ ฅ๊ฐ์ ์ ๋ถ ๋ชจ์์ ํํ๋ก ๋ง๋ฆ.ํค์๋ ํ๋ผ๋ฏธํฐ
def ํจ์์ด๋ฆ(**๋งค๊ฐ๋ณ์):
๋งค๊ฐ๋ณ์๋ ๋์ ๋๋ฆฌ๊ฐ ๋๊ณ ๋ชจ๋ key=value ํํ์ ๊ฒฐ๊ด๊ฐ์ด ๋์ ๋๋ฆฌ์ ์ ์ฅ๋จ. ์ ๋ ฅ๊ฐ์ด ๋ช๊ฐ๋ ์๊ด ์์.๋งค๊ฐ๋ณ์์ ์ด๊น๊ฐ ๋ฏธ๋ฆฌ ์ค์
def say(name,old,woman=True):
ํจ์ ํธ์ถํ ๋ woman์ ๋นผ๊ณ 2๊ฐ๋ง ์ง์ ํด์ค๋ ์๋์ผ๋ก true๊ฐ์ ๊ฐ์ง.
say('daeun',22) woman์ ์ด๊น๊ฐ true๋ฅผ ๊ฐ์ง
say('daeun',22,false) ๊ฐ์ ๋ณ๊ฒฝํด์ค ์๋ ์์.
ํ๋ผ๋ฏธํฐ์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ง์ ํด์ ์ด๊น๊ฐ์ ์ค์ ๋งค๊ฐ๋ณ์ ์ง์ ํ์ฌ ํธ์ถํ๊ธฐ
>>>def add(a,b): return a+b >>> result=add(a=2,b=5) #a์ 2, b์ 5๋ฅผ ์ ๋ฌ. ์์์ ์๊ดx >>>print(result)
๐ํจ์ ์ฃผ์์ฌํญ
- ํจ์์ ๊ฒฐ๊ณผ๊ฐ์ ์ธ์ ๋ ํ๋
def addmul(a,b) return a+b,a*b addmul(3,4) #tuple๋ก (a+b,a*b)์ ๊ฐ์ ๊ฐ์ง. result1,result2=addmul(3,4) #result1=7, result2=12 return ์ผ๋ก ํจ์๋ฅผ ๋ฐ๋ก ๋น ์ ธ๋๊ฐ ์ ์์. ํจ์ ์ ์
- ์ด๊ธฐ๊ฐ์ ์ค์ ํด๋์ ๋งค๊ฐ๋ณ์ ๋ค์ ์ด๊น๊ฐ์ ์ค์ ํด๋์ง ์์ ๋งค๊ฐ๋ณ์๋ ์ฌ์ฉํ ์ ์๋ค
- ํจ์ ๋ด๋ถ ๋ณ์๋ฅผ ํจ์ ๋ฐ์์ ์ฌ์ฉํ ๋
- global ๋ณ์ ์ฌ์ฉํ๊ณ ์ถ์ผ๋ฉด ํจ์ ๋ด๋ถ์์ ๋ณ์๋ฅผ ์ ์ํ ๋ global a ๊ฐ์ ์์ผ๋ก ์ฐ๋ฉด ๋จ.(๋น์ถ์ฒ)
lambda
add=lambda a,b : a+b
ํจ์๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ, def์ ๋์ผํ ์ญํ ์ธ๋ฐ ํ ์ค๋ก ํจ์๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉPython build-in functions ๋ด์ฅํจ์
์ธ๋ถ ๋ชจ๋๊ณผ ๋ฌ๋ฆฌ import๊ฐ ํ์ํ์ง ์์.
>>>abs(-9) 9 //์ ๋๊ฐ ๋ํ๋ >>> all([1,2,3]) true all(x) : ๋ฐ๋ณต ๊ฐ๋ฅํ ์๋ฃํ(for๋ฌธ์ผ๋ก ๊ฐ์ ์ถ๋ ฅํ ์ ์๋ ๋ฆฌ์คํธ, ํํ, ๋ฌธ์์ด, ๋์ ๋๋ฆฌ, ์งํฉ ๋ฑ) ์ ์ ๋ ฅ ์ธ์๋ก ๋ฐ๊ณ ์๋ฃํ์ ์ฐธ๊ฑฐ์ง์ ๋ฐ๋ผ x๊ฐ ๋ชจ๋ ์ฐธ์ด๋ฉด true ๊ฑฐ์ง์ด ํ๋๋ผ๋ ์์ผ๋ฉด false >>>any(x) x์ค ํ๋๋ผ๋ ์ฐธ์ด ์์ผ๋ฉด true x๊ฐ ๋ชจ๋ ๊ฑฐ์ง์ผ ๋์๋ง false chr(i) ์์คํค ์ฝ๋ ๊ฐ์ ์ ๋ ฅ๋ฐ์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅ >>>pow(3,2) 9 //์์ด ๋ฐ, ๋ค์๊ฐ ์ง์ >>>pow(2,4,3) 1 // 2**4%3 >>>round(-3.5) -4 //๋ฐ์ฌ๋ฆผ >>>round(3.141592,2) 3 // ์์์ 2๋ฒ์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅ >>>int(34.6) 34// ๋ณ์ type์ ํจ์๋ก์ ์ฌ์ฉ ๊ฐ๋ฅ help(ํจ์์ด๋ฆ)->๊ทธ ํจ์์ ๊ธฐ๋ณธ ์ ๋ณด ์ถ๋ ฅ id(object)->๊ฐ์ฒด์ ์ฃผ์๊ฐ์ ๊ฐ์ ธ์ด
Local variables
>>> def quadrtic(a,b,c,x): #fuction header first=a*x**2 second=b*x third=c return first+second+third #function body #fist, second, third๋ quadratic ํจ์์ ์ง์ญ๋ณ์ >>> quadratic(a,b,c,x) 18 #function call
ํ์ด์ฌ์์ ํจ์ ํธ์ถ์ ํ ๋ ํธ์ถ์ ์ํด ์ง์ญ ๋ณ์๋ฅผ namespace์ ์ ์ฅ-> ํจ์ return์ namespace๋ ์ ๊ทผ ๋ถ๊ฐ
- ์ฌ์ฉ์ ์ ์ ํจ์
def convert_to_celsius(fahrenheit): return (fahrenheit-32) * 5/9
- ๊ธฐ๋ณธ๊ตฌ์กฐ : def ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์ parameter):
function definition์ ์คํ->function object ์์ฑ->ํจ์ ํธ์ถ
def๋ ๋ณ์๋ ํจ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉx
๋งค๊ฐ๋ณ์(parameter)->ํจ์์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋ ๊ฐ์ ๋ฐ๋ ๋ณ์
์ธ์(arguments)-> ํจ์๋ฅผ ํธ์ถํ ๋ ์ ๋ฌํ๋ ์ ๋ ฅ๊ฐ
//์ผ์ ์นธ ๋์ฐ๊ธฐ: ๋ฐ ์ฝ๋๊ฐ ์ ์ฝ๋์ ์ข ์๋ ๋ 4์นธ space
์๋ฌ์ฃผ์) ์ ๋ ฅ ํ๋ผ๋ฏธํฐ ๊ฐ์, ํจ์ ๋ด๋ถ ๋ณ์๋ฅผ ํธ์ถx.
ํจ์ ์ฌ์ ์ ๊ฐ๋ฅ!- ์ฃผ์์ฒ๋ฆฌ: ํ ์ค ์ง๋ฆฌ #, ์ฌ๋ฌ์ค """๋ '''
- ํจ์ ์ ๋ง๋๋ ๋ฒ
-ํจ์ ์ด๋ฆ, ์ ๋ ฅ๊ฐ, ์ถ๋ ฅ๊ฐ, function body ๋ช ํํ๊ฒ.print("life" "is" "suck")
->lifeissuck ์ถ๋ ฅ
print("life","is","suck")
->life is suck ์ถ๋ ฅfor i in range(10): print(i,end=' ') 0 1 2 3 4 5 .... ์ถ๋ ฅ
- ํ ์ค์ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅํ๊ธฐ
'๐ญ Study > : Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ปPython:: Class (1) 2024.01.26 ๐ปPython:: input & File (1) 2024.01.26 ๐ปPython:: Module (0) 2024.01.25 ๐ปPython:: ์ ์ด๋ฌธ if & while & for (0) 2024.01.25 ๐ป Python:: ์๋ฃํ Set & Bool (0) 2024.01.25 ๋๊ธ