본문 바로가기
Engineering WIKI/Python

일급함수

by wonos 2022. 5. 30.

다양한 매개변수 입력 (*args, **kwargs)

  • *args 는 튜플로 받고, **kwargs는 딕셔너리로 받는다.
def args_test(name, *contents, point=None, **attrs):
	return '<args_test> -> ({}) ({}) ({}) ({})'.format(name, contents, point, attrs)

print('EX5-3 -', args_test('test1', 'test2', 'test3', id='admin')
print('EX5-4 -', args_test('test1', 'test2', 'test3', id='admin', point=7)
print('EX5-5 -', args_test('test1', 'test2', 'test3', id='admin', point=7, password='1234')

# EX5-3 - <args_test> -> (test1) (('test2', 'test3')) (None) ({'id': 'admin'})
# EX5-4 - <args_test> -> (test1) (('test2', 'test3')) (7) ({'id': 'admin'})
# EX5-5 - <args_test> -> (test1) (('test2', 'test3')) (7) ({'id': 'admin', 'password' : '1234'})

클로저 (Closure)

  • 반환되는 내부 함수에 대해서 선언 된 연결을 가지고 참조하는 방식
  • 반환 당시 함수 유효범위를 벗어난 변수 또는 메소드에 직접 접근이 가능하다.

'Engineering WIKI > Python' 카테고리의 다른 글

Generator  (0) 2022.05.30
파이썬 2진수, 8진수, 10진수, 16진수 변환  (0) 2022.05.26
추상클래스(abstract class)  (0) 2022.05.25
파이썬 람다식  (0) 2022.05.25
파이썬 퀵 정렬  (0) 2022.05.25
Python3 vs Pypy3  (0) 2022.05.25
Python TDD  (0) 2022.05.23
파이썬 상속 (Inheritance)  (0) 2022.05.23