args2 *args와 **kwargs *args와 **kwargs를 이용하면 좋은점 먼저 이 두가지를 이용하면 함수가 선택적 인자를 받아들일 수 있으므로 모듈 및 클래스에서 유연한 API를 만들 수 있습니다. 먼저 간단한 함수 하나를 만들겠습니다. def foo(required, *args, **kwargs): print(required) if args: print(f'args 호출 : {args}') if kwargs: print(f'kwargs 호출 : {kwargs}') 함수 앞에는 최소한의 'required'라는 인자 하나를 필요로 하지만 추가 위치 인자와 키워드 매개 변수도 추가로 사용할 수 있습니다. 이제 추가 인자를 사용하여 함수를 호출하면 매개 변수 이름 앞에 * 접두사가 있어서 args가 여분의 위치 인자를 튜플로 수집합니다.. 2020. 9. 14. 파이썬 - 함수(심화) 함수 - 심화 전역 변수와 지역 변수 먼저 변수에는 범위가 존재합니다. 이것을 변수의 범위(variable scope)라고 합니다. 변수가 참조 가능한 코드상의 범위를 명시 합니다. 함수내의 변수는 자신이 속한 코드 블록이 종료되면 소멸 됩니다. 이렇게 특정 코드 블록에서 선언된 변수를 지역변수(local variable) 이라고 합니다. 반대로 가장 위에서 정의 되어 프로그램 종료 전 까지 유지되는 변수를 전역변수(global variable) 이라고 합니다. 같은 이름의 지역변수와 전역 변수가 존재할 경우, 지역 변수의 우선순위가 더 높습니다. 전역변수 지역변수 예시 코드 num1 = 10 num2 = 30 def test(num1, num2): print(num1, num2) return num1 .. 2020. 3. 29. 이전 1 다음