python (2) - 함수 선언 etc.

JJeong723·2024년 11월 2일

python

목록 보기
2/5

python 프로그래밍 언어에서 기본적인 변수, 반복문, 조건문 등을 제외한 것들만 모음
(주로 제가 몰랐던 것만 모음)
참고 링크 : 점프 투 파이썬 https://wikidocs.net/book/1

1. 입력값이 여러개일때

  • 참고링크
  • 함수를 정의할 때, 입력값의 갯수를 정의하지 않고 함수를 정의할 수 있음.
    • C/C++에서와 비슷한듯 함.
     >>> def add_many(*args): 
      ...     result = 0 
      ...     for i in args: 
      ...         result = result + i   # *args에 입력받은 모든 값을 더한다.
      ...     return result
  • args*args처럼 매개변수 이름 앞에 *을 붙이면 입력값을 전부 모아 튜플로 만들어 줌
    • 여기에서 args*args는 임의로 정한 변수 이름이다. pey*pey, python*python처럼 아무 이름이나 써도 됨
    • argsargs는 인수를 뜻하는 영어 단어 argumentsarguments의 약자이며 관례적으로 자주 사용하는 용어

2. 키워드 매개변수, kwargs

  • 참고링크
  • 키워드 매개변수를 사용할 때는 매개변수 앞에 별 2개(**)를 붙임
    • 예시는 하기와 같음
     >>> def print_kwargs(**kwargs):
      ...     print(kwargs)
    • 이럴떄, 결과값은 하기와 같음
     >>> print_kwargs(a=1)
      {'a': 1}
      >>> print_kwargs(name='foo', age=3)
      {'age': 3, 'name': 'foo'}
    • kwargs는 {'age': 3, 'name': 'foo'}라는 딕셔너리가 됨
      • kwargs**kwargs처럼 매개변수 이름 앞에 **을 붙이면 매개변수 kwargs는 딕셔너리가 되고 모든 Key=Value 형태의 입력값이 그 딕셔너리에 저장된다는 것을 알 수 있음
      • kwargskwargskeywordarguments‘keyword arguments’의 약자이며 argsargs와 마찬가지로 관례적으로 사용함

3. lambda 예약어

  • 참고링크
  • lambdalambda는 함수를 생성할 때 사용하는 예약어로, def와 동일한 역할을 함.
    • 보통 함수를 한 줄로 간결하게 만들 함
    • lambda로 만든 함수는 return 명령어가 없어도 표현식의 결괏값을 리턴함
    • 사용법
     함수_이름 = lambda 매개변수1, 매개변수2, ... : 매개변수를_이용한_표
    현식
    • 실제로는 하기와 같음
     >>> add = lambda a, b: a+b
      >>> result = add(3, 4)
      >>> print(result)
      7
profile
이것저것 글쓰는 TPM 지망자

0개의 댓글