본문 바로가기

파이썬 기초 공부

파이썬 함수 기초 #2

  • 함수정의 방법
    • def function_name(parameter):
      • # code

예제 1번

def first_func(w1):
    print("Hello", w1)

word = "Goodboy"

first_func(word)

 

예제 2번

def return_func(w1):
    return "Hello," + str(w1)

x = return_func('Goodboy2')
print(x)

 

예제 3번(다중 변환)

def func_mul(x):
    y1 = x*10
    y2 = x*20
    y3 = x*30
    return y1, y2, y3

x,y,z = func_mul(10)
print(x, y, z)

 

리턴(튜플, 리스트, 딕셔너리)

# 튜플 리턴

def func_mul2(x):
    y1 = x*10
    y2 = x*20
    y3 = x*30
    return (y1, y2, y3)

q = func_mul2(10)
print(q)

# 리스트 리턴

def func_mul3(x):
    y1 = x*10
    y2 = x*20
    y3 = x*30
    return [y1, y2, y3]

p = func_mul3(10)
print(type(p), p)

# 딕셔너리 리턴

def func_mul3(x):
    y1 = x*10
    y2 = x*20
    y3 = x*30
    return {'v1':y1,'v2': y2, 'v3': y3}

d = func_mul3(10)
print(type(d), d.get('v2'), d.values(), d.keys() )

 

언팩킹 *args / **kwarge 

#*args(언팩킹)
def args_func(*args): # 튜플
    for i, v in enumerate(args): 
        print('Result : {}'.format(i),v)
    print('------')

args_func('Lee')
args_func('Lee', 'Park')
args_func('Lee', 'Park', 'Kim')

# **kwargs (언팩킹)
def kwargs_func(**kwargs): # 딕셔너리
    for v in kwargs.keys():
        print("{}".format(v), kwargs[v])
    print('------')

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

# 전체 혼합
def example(args_1, args_2, *args, **kwargs):
    print(args_1, args_2, args, kwargs)

example(10, 20, 'Lee', 'kem', 'Park', age1=20, age2=30, age3=40)

 

중첩 함수

def nested_func(num):
    def func_in_func(num):
        print(num)
    print("In func")
    func_in_func(num + 100)

nested_func(100)

 

'파이썬 기초 공부' 카테고리의 다른 글

모듈 기초  (0) 2023.05.22
클래스 기초  (0) 2023.05.22
파이썬 함수 기초  (0) 2023.05.10
조건문(while 문)  (0) 2023.05.10
조건문(FOR문)  (0) 2023.05.10