Python/Python Language

Python(ํŒŒ์ด์ฌ) ํ•จ์ˆ˜ def ์‚ฌ์šฉํ•˜๊ธฐ

567Rabbit 2024. 4. 4. 18:03

ํ•จ์ˆ˜

:ํ•จ์ˆ˜๋Š” ์ฝ”๋”ฉํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ํšจ์œจ์„ฑ, ํŽธ์˜์„ฑ์„ ๊ฐ€์ ธ๋‹ค์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค 

์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์—์„  function, ํ•จ์ˆ˜๋ช… () => java method, ํŒŒ์ด์„ ์—์„œ๋Š” def์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค

 

<ํŠน์ง•>
๋งค๊ฐœ๋ณ€์ˆ˜๋ผ๊ณ  ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ์ˆ˜์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค

ํ˜ธ์ถœ๋  ๋•Œ๋งŒ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋ธ”๋ก์ด๋‹ค.

๊ฒฐ๊ณผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์–ด๋–ค ์–ธ์–ด์—์„œ๋“  ํ˜ธ์ถœํ•œ๋‹ค

ํŒŒ์ด์„ ๋„ ์žฌ๊ท€ํ•จ์ˆ˜(ํ•จ์ˆ˜ ์Šค์Šค๋กœ ์ž์‹ ์„ ํ˜ธ์ถœ)๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค

 

 

def my_function():       #ํ•จ์ˆ˜ ํ•จ์ˆ˜๋ช…
    print("ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœํ• ๋•Œ ์‹คํ–‰")      #์ฝ”๋“œ๋ธ”๋Ÿญ
my_function()          #ํ•จ์ˆ˜๋ช…์„ ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ์จ์ฃผ๋Š” ๊ฒƒ์„ ํ˜ธ์ถœ์ด๋ผ๊ณ  ํ•œ๋‹ค

 

 

๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ "ํŒŒ๋ผ๋ฏธํ„ฐ"๋ผ๊ณ  ํ•˜๊ณ ,  ๋งค๊ฐœ๋ณ€์ˆ˜ ์ˆ˜๋ฅผ "์ธ์ˆ˜"๋ผ๊ณ  ํ•œ๋‹ค

 

ํ•จ์ˆ˜์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜์ •์˜์— ๊ด„ํ˜ธ์•ˆ์— ๋‚˜์—ด๋œ ๋ณ€์ˆ˜ ์ธ์ˆ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ ๋•Œ ํ•จ์ˆ˜์— ์ „์†ก๋˜๋Š” ๊ฐ’์ด๋‹ค

 

 

def print_coin(ํŒŒ๋ผ๋ฏธํ„ฐ) :
    print("ํŒŒ๋ผ๋ฏธํ„ฐ ์ž…๋‹ˆ๋‹ค")

print_coin()

 

 

์ •๋ณด๋Š” ํ•จ์ˆ˜์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋˜๊ณ  ์ธ์ˆ˜๋Š” ํ•จ์ˆ˜์˜ ๊ด„ํ˜ธ์•ˆ์— ์ง€์ •๋ฉ๋‹ˆ๋‹ค ์›ํ•˜๋Š” ๋งŒํผ ์ธ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ณ  ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค

 

๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜๋Š” (์ˆ˜๋Ÿ‰์ด) ๋™์ผํ•ด์•ผ ํ•œ๋‹ค

 

 

def my_name(fname, lname):      #ํ•จ์ˆ˜๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜)
    print(fname + " ์ž…๋‹ˆ๋‹ค" + lname)

 

#์ธ์ˆ˜๋ฅผ ํ•จ์ˆ˜๋ช…์— ๋„ฃ์–ด์„œ ์‚ฌ์šฉ
my_name("๊น€์”จ ","2")          #ํ•จ์ˆ˜๋ช…(์ธ์ˆ˜)
my_name("์ด์”จ ","2")
my_name("๋ฐ•์”จ ","2")

print_sum()

 

 

 

return

 

๊ฐ’์„ ํ•จ์ˆ˜์—์„œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ‚ค์›Œ๋“œ

ํ•จ์ˆ˜ ๋‚ด์—์„œ ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ํ˜ธ์ถœ์ž์—๊ฒŒ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ํ˜ธ์ถœ์ž๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•œ๋‹ค

def convert_int (str_number) :
    return int(str_number.replace(',', ''))

convert_int("1,234,567")

=> ๊ฒฐ๊ณผ 1234567

 

 

 

ํ™œ์šฉํ•˜๊ธฐ

 

1) *args ์ž„์˜์˜ ์ธ์ˆ˜ => ํ•จ์ˆ˜์— ์ „๋‹ฌ๋  ์ธ์ˆ˜์˜ ์ˆ˜๋ฅผ ๋ชจ๋ฅผ๊ฒฝ์šฐ *๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค


def my_child(*kids):
    print("์šฐ๋ฆฌ ์•„์ด๋“ค " + kids[0], kids[1], kids[2] + " ๋ฐฅ ๋จน์Œ?")
my_child("์ฑ„ํ˜„","๋ฆฌ์•ˆ","๋ฐ”๋ก ")

 


2) ํ‚ค์›Œ๋“œ ์ธ์ˆ˜ key = value ์„ ์‚ฌ์šฉํ•ด์„œ ์ธ์ˆ˜๋ฅผ ๋ณด๋‚ผ์ˆ˜๋„ ์žˆ๋‹ค

def third(child3, child2, child1):
    print("์…‹์งธ๋Š” " +child3)

third(child1 = "co",child2 = "co",child3 = "ba")

 


3) ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’ ๋งค๊ฐœ๋ณ€์ˆ˜์— = ๊ฐ’์„ ๋„ฃ์–ด ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค
def Con(country = "Korea"):
    print("i am from " + country)

Con("Sweden")
Con("India")
Con() #์ธ์ˆ˜๋ฅผ ์“ฐ์ง€ ์•Š์€ ๊ณณ์— ๊ธฐ๋ณธ์ด ์ถœ๋ ฅ
Con("Brazill")

 

 

 

๋ณ„์  ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ„์ ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๋ณ„์ ์€ 1,2,3 ์ฆ‰ 3๊ฐœ๋กœ ๋งŒ๋“ค๊ฒƒ์ด๋‹ค.

ํฌ์ธํŠธ๊ฐ€ 95์  ์ด์ƒ์ด๋ฉด 3์ , 85์  ์ด์ƒ์ด๋ฉด 2์ , ๋‚˜๋จธ์ง€๋Š” 1์ ์œผ๋กœ ํ•  ๊ฒƒ์ด๋‹ค.

๋ฆฌ๋ทฐ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๊ฐ ๋ฐ์ดํ„ฐ์˜ ๋ณ„์ ์„ ๊ตฌํ•˜์‹œ์˜ค.

 

def ํ•จ์ˆ˜์ด๋ฆ„์ง€์ •(points) :            # def๋ฅผ ๋จผ์ € ์ •์˜ํ•˜๊ณ ,
    if points >= 95:
        return 'โ˜…โ˜…โ˜…'
    elif points >= 85:
        return 'โ˜…โ˜…'
    else :
        return 'โ˜…'

 

df['๋ณ„์ '] = df['points'].applyํ•จ์ˆ˜์ด๋ฆ„์ง€์ • )   # ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•  ๋•Œ๋Š” .apply() ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

 

df = df.sort_values('๋ณ„์ ',ascending=False)

 

 

# ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” .sort(ascending=False)

# ์ •๋ ฌ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ . sort(ascending=True) ์œผ๋กœ ์ง€์ •๋˜์–ด์žˆ์œผ๋ฏ€๋กœsort()๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค 

# ASC = ์˜ค๋ฆ„์ฐจ์ˆœ

 

 

 

 

์žฌ๊ท€ํ•จ์ˆ˜

์žฌ๊ท€ํ•จ์ˆ˜ ์•„๋ž˜์— ์˜ˆ์ œ์—์„œ tri_recursion์€ ์ž์‹ ์„ ํ˜ธ์ถœ ("recurse")ํ•˜๋„๋ก ์ •์˜๋œ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค k๋ณ€์ˆ˜๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๊ท€(์Šค์Šค๋กœ ํ˜ธ์ถœ)ํ• ๋•Œ๋งˆ๋‹ค (-1)๊ฐ์†Œ๋˜๊ฒŒ ๋งŒ๋“ ๋‹ค 
์ตœ์ข…์ ์œผ๋กœ ์กฐ๊ฑด์ด 0๋ณด๋‹ค ํฌ์ง€ ์•Š์œผ๋ฉด (์ฆ‰, 0์ผ๋•Œ) ์Šค์Šค๋กœ์˜ ํ˜ธ์ถœ์ด ์ข…๋ฃŒ๋œ๋‹ค
์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ฒฐ๊ณผ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์ ์ด ์žˆ๋‹ค 

def rec(k):
    if (k > 0):
        result = k + rec(k-1)
        print(result)
    else:
        result = 0
    return result
print("\n\n์žฌ๊ท€ ํ•จ์ˆ˜ ๊ฒฐ๊ณผ")
rec(6)

 

1
2+1
3+2+1
4+3+2+1
5+4+3+2+1
6+5+4+3+2+1

 

--------------------------------------------------------------------------------------------------------------

์—ฐ์Šตํ•˜๊ธฐ

ํ‰๊ท  ๊ตฌํ•˜๊ธฐ

def print_score(score_list) :
    print(sum(score_list)/len(score_list))
    
print_score ([1, 2, 3])

 

 

ํ•จ์ˆ˜ ๋‚ด ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉํ•˜์—ฌ ๋น„ํŠธ์ฝ”์ธ 100๋ฒˆ ์ถœ๋ ฅํ•˜๊ธฐ

def print_coins():
    for i in range (100) :
        print("๋น„ํŠธ์ฝ”์ธ")
print_coins()

 

 

๋‘ ๊ฐœ์˜ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„ ๋”ํ•˜๊ธฐ

a = input("์ฒซ๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ")
b = input("๋‘๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ")

def print_sum() :
    print(int(a)+int(b))

print_sum()

 

 

ํ•จ์ˆ˜ ๋‚ด ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์ง์ˆ˜์ถœ๋ ฅํ•˜๊ธฐ

def print_even(even_list) :
    for v in even_list :
        if v % 2 == 0 :
            print(v)
    
print_even ([1, 3, 2, 10, 12, 11, 15])

 => ๊ฒฐ๊ณผ 

2
10
12