반응형
#>>>>>>>>>>>>>>>> [인자값을 tuple 로 받기]
def say_hello(*params):
# print(params)
for param in params:
print(param)
say_hello('hi','world','gavin')
myParams = ('hello','gavin','kim')
say_hello(*myParams)
# [인자값을 dictionary 로 받기]
def menu(**kwargs):
# print(kwargs)
for k,v in kwargs.items():
print(k,v)
menu(eat = 'beef',drink='coffee')
myDic = {
'eat':'beef',
'drink' : 'latte',
'dessert':'banana'
}
menu(**myDic)
#>>>>>>>>>>>>>>>>>>>>>>>> [(docstring) 함수에 대한 설명 출력 하는 기능]
def my_menu(param1,param2):
"""my_menu 에 대해 설명 합니다.
Args:
param1 (int): 첫 번째 파라미터 입니다.
param2 (str): 두번째 파라미터 입니다.
Returns:
bool: 리턴 값은 boolean 값입니다.
"""
print(param1,param2)
return True
print(my_menu.__doc__) # my_menu 함수에 대한 설명을 출력하도록 합니다.
#>>>>>>>>>>>>>>>>>>>>> [데코레이터 사용법]
# 어떤 함수가 실행전 선행 되어야 할 작업이 있을 경우 데코레이터를 만들어 사용하면 편리하다.
# 데코레이터를 중첩하여 사용할수도 있다.
#데코레이터 함수 만들기
def print_info(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
print('[선행작업 start ...]')
print('[선행작업 end...]')
return result
return wrapper
#데코레이터 함수 만들기
def print_more(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
print('[선행작업 func:]',func.__name__)
print('[선행작업 args:]',args)
print('[선행작업 kwargs:]', kwargs)
return result
return wrapper
#데코레이터 적용
@print_info
def add_num(a,b):
return a+b
@print_info
def sub_num(a,b):
return a-b
@print_info
@print_more
def hello_add_num(a,b):
return a+b
#데코레이터 테스트
print(add_num(10,20))
print(sub_num(20,10))
print(hello_add_num(40,50))
#>>>>>>>>>>>>>>>>>> [리스트 내부에서 조건 사용]
t1 = (1,2,3,4,5,6,7,8,9)
r = []
r = [i for i in t1 if i%2==0]
print(r)
t2 = (1,2,3,4,5,6,7,8,9)
r = [i*j for i in t1 for j in t2]
print(r)
#>>>>>>>>>>> 커스텀 에러클래스를 만들어 사용
class UppercaseError(Exception):
pass
def check():
words = ['Apple','orange','banana']
for word in words:
if word.isupper():
raise UppercaseError(word)
try:
check()
except UppercaseError as e:print('this is my fault. go next')
반응형
'Python' 카테고리의 다른 글
타입 힌팅 (0) | 2019.01.06 |
---|---|
함수를 변수처럼 전달하기 (0) | 2019.01.06 |
python 다중 상속 (0) | 2019.01.06 |
python class (0) | 2019.01.03 |
python command line args (0) | 2019.01.01 |