파이썬 참고용 코드
- 자아실현/파이썬
- 2020. 9. 14.
수시로 추가함.
출처는 주로
- 레벨업 파이썬 (https://wikidocs.net/83506)
- 파이썬 코딩 도장 (https://dojang.io/mod/page/view.php?id=2427)
- 점프투파이썬 (wikidocs.net/book/1)
가변인자 사용 예시
def foo(*args):
print(args)
foo(1, 2, 3)
foo(1, 2, 3, 4)
def foo(**kwargs):
print(kwargs)
foo(a=1, b=2, c=3)
def foo(*args, **kwargs):
print(args)
print(kwargs)
foo(1, 2, 3, a=1, b=1, c=2)
데코레이터 사용 예시
def outer(out1):
def inner(in1):
print("inner function called")
print("outer argument: ", out1)
print("inner argument: ", in1)
return inner
f = outer(1)
f(10)
############################################################################
def trace(func): # 호출할 함수를 매개변수로 받음
def wrapper(): # 호출할 함수를 감싸는 함수
print(func.__name__, '함수 시작') # __name__으로 함수 이름 출력
func() # 매개변수로 받은 함수를 호출
print(func.__name__, '함수 끝')
return wrapper # wrapper 함수 반환
def hello():
print('hello')
def world():
print('world')
trace_hello = trace(hello) # 데코레이터에 호출할 함수를 넣음
trace_hello() # 반환된 함수를 호출
trace_world = trace(world) # 데코레이터에 호출할 함수를 넣음
trace_world() # 반환된 함수를 호출
############################################################################
def trace(func): # 호출할 함수를 매개변수로 받음
def wrapper():
print(func.__name__, '함수 시작') # __name__으로 함수 이름 출력
func() # 매개변수로 받은 함수를 호출
print(func.__name__, '함수 끝')
return wrapper # wrapper 함수 반환
@trace # @데코레이터
def hello():
print('hello')
@trace # @데코레이터
def world():
print('world')
hello() # 함수를 그대로 호출
world() # 함수를 그대로 호출
# 로깅
import logging
logging.basicConfig(filename="mylog.txt", level=logging.INFO)
def hap(a, b):
ret = a + b
logging.info(f"input: {a} {b}, output={ret}")
return ret
result = hap(3, 4)