Programming/Python

[Python] 파이썬 함수에 대해서 알아보자.

빙기때침식곡 2021. 6. 20. 22:33
반응형

이미지 출처 www.python.org

 

오늘은 파이썬의 함수에 대해서 알아보는 시간을 갖도록 하겠다.

 

1. 함수

 

 

(1) 함수 선언

def hello(world):
    print("Hello", world)

 

 

 

(2) 함수 호출

hello("Python!")
hello(7777)

Result

Hello Python!
Hello 7777

 

 

 

(3) 리턴 함수 선언 및 호출

def hello_return(world):
    val = "Hello" + str(world)
    return val
    
str = hello_return("Python!!!!")
print(str)

Result

HelloPython!!!!

 

 

 

(4) 다중 리턴 함수

def func_mul(x):
    y1 = x * 100
    y2 = x * 200
    y3 = x * 300
    return y1, y2, y3


val1, val2, val3 = func_mul(100)
print(val1, val2 ,val3)

Result

10000 20000 30000

 

 

 

(5) 데이터 타입 변환

def func_mul2(x):
    y1 = x * 100
    y2 = x * 200
    y3 = x * 300
    return [y1, y2, y3]


lt = func_mul2(100)
print(lt, type(lt))

Result

[10000, 20000, 30000] <class 'list'>

 

 

 

(6) 튜플을 인자로 받는 함수

def args_func(*args):
    for i,v in enumerate(args):
        print(i, v)

args_func('kim')
args_func('kim', 'park')
args_func('kim', 'Park', 'Lee')

Result

0 kim
0 kim
1 park
0 kim
1 Park
2 Lee

 

 

 

(7) 딕셔너리를 인자로 받는 함수

def kwargs_func(**kwargs):
    for k, v in kwargs.items():
        print(k, v)


kwargs_func(name1='Kim')
kwargs_func(name1='Kim', name2='Park', name3='Lee')

Result

name1 Kim
name1 Kim
name2 Park
name3 Lee

 

 

 

(8) 여러가지 타입을 인자로 받는 함수

def example_mul(arg1, arg2, *args, **kwargs):
    print(arg1, arg2, args, kwargs)

example_mul(10, 20)
example_mul(10, 20, 'park', 'kim', age1=24, age2=35)

Result

10 20 () {}
10 20 ('park', 'kim') {'age1': 24, 'age2': 35}

 

 

 

(9) 중첩 함수 (클로저)

def nested_func(num):
    def func_in_func(num):
        print('>>>' ,num)
    print("in func")
    func_in_func(num + 1000)

nested_func(10000)

Result

in func
>>> 11000

 

 

 

(10) 함수 힌트

 - 아래 코드에서 인자로 받는 x를 int 타입으로 받는다는 것을 표시.

 - "-> list" 는 리턴 타입이 list 타입이라는 것을 표시

def func_mul3(x : int) -> list:
    y1 = x * 100
    y2 = x * 200
    y3 = x * 300
    return [y1, y2, y3]

print(func_mul3(5))

Result

[500, 1000, 1500]
반응형