본문 바로가기

Python7

*args와 **kwargs (2) (Function Arguments) [Intermediate] 지난 세 개의 게시글에서 *args와 **kwargs, 그리고 이 둘을 사용해서 함수를 만드는 것까지 보았다. 지난 내용을 확인하려면 아래 링크로 들어가면 된다. 더보기 2022.08.14 - [개발일기/PYTHON [codecademy]] - *args (Function Arguments) 2022.08.14 - [개발일기/PYTHON [codecademy]] - **kwargs (Function Arguments) 2022.08.14 - [개발일기/PYTHON [codecademy]] - *args와 **kwargs (1) (Function Arguments) [Intermediate] 앞서 본 내용에서는 *args와 **kwargs를 함수 parameter(매개 변수)로 사용해서 길이가 정해지지 않.. 2022. 8. 14.
*args와 **kwargs (1) (Function Arguments) [Intermediate] 이전 두 글에서 *arg와 **kwargs 사용법을 알아보았다. 게시글을 확인하고 싶으면 아래 링크로 들어가서 찬찬히 읽어보도록 하자. 2022.08.14 - [개발일기/PYTHON [codecademy]] - *args (Function Arguments) 2022.08.14 - [개발일기/PYTHON [codecademy]] - **kwargs (Function Arguments) *args와 **kwargs 둘 다 무한한 수의 인자를 받을 수 있는 편리한 애들이다. 그렇다면 이 둘을 함께 사용해서 함수를 만들 수는 없을까? 이번 글에서는 두 가지를 모두 사용하여 함수를 만들어 볼 거다. def print_animals(animal1, animal2, *args, animal4, **kwargs): .. 2022. 8. 14.
**kwargs (Function Arguments) **kwargs = keyword + argument 저번 글에서 봤던 *arg와 비슷한데, *을 두 번 써서 dictionary(사전)의 형태로 무한대의 keyword와 value를 입력할 수 있다고 생각하면 된다. *arg와 마찬가지로 **만 붙이면 어떤 변수 이름을 사용해도 상관없다. example: def arbitrary_keyword_args(**kwargs): print(type(kwargs)) print(kwargs) # See if there's an 'anything_goes' keyword arg and print it print(kwargs.get('anything_goes')) arbitrary_keyword_args(this_arg='wowzers', anything_goes=1.. 2022. 8. 14.
*args (Function Arguments) *arg : variable number of arguments * = unpacking operator *은 말 그대로 언팩을 해주는, 그러니까 주어진 리스트나 튜플 등을 풀어헤쳐주는 애다. *arg가 이름이지만 arg대신에 어떤 변수이름을 써도 상관없다. 언팩킹을 하기 위해 * 만 앞에 붙여주면 된다. *arg는 함수에 가변인자를 넣을 때 사용한다. 이게 무슨 말이냐? 함수의 인자를 몇 개 받을지 정해지지 않은 경우에 사용한다. 상황에 따라서 들어갈 인자의 수가 다를 때, 인자의 수가 확실하지 않을 때 등을 생각하면 된다. parameter(매개변수)가 *arg면 들어가는 인자 수가 몇이든지 상관없이 함수를 쓸 수 있다. *arg를 사용하는 간단한 함수를 예시로 만들어보자: def my_functio.. 2022. 8. 14.