부산사는신씨

혼공파 4주차 본문

Python

혼공파 4주차

부산사는신씨 2020. 7. 31. 10:51

목표

  • 매개변수, 기본 매개변수, 가변 매개변수에 대해 정리
  • p.224 손 코딩

5장

  1. 매개변수
    • 함수 등과 같은 서브루틴의 인풋으로 제공되는 여러 데이터 중 하나(위키백과)
    • 함수를 생성할 때 괄호 내부에 식별자를 입력해서 만듦
      def 함수이름(매개변수1, 매개변수2,...):
      	CODE...
    • 함수를 생성할 때 매개변수를 생성했다면 사용할 때도 같은 수의 매개변수가 필요함.
      def print_n_times(value, n):
      	for i in range(n):
      		print(value)
      
      # 함수 호출; 변수를 1개만 지정 했을 때
      print_n_times("안녕하세요")
      
      # 결과
      예외가 발생했습니다. TypeError
      print_n_times() missing 1 required positional argument: 'n'
        File "Your/path/param_basic.py", line 6, in <module>
          print_n_times("안녕하세요")
      
      
      # 함수 호출; 변수를 2개 이상 지정 했을 때
      print_n_times("안녕하세요", 10, 20)
      
      # 결과
      예외가 발생했습니다. TypeError
      print_n_times() takes 2 positional arguments but 3 were given
        File "Your/path/param_basic.py", line 6, in <module>
          print_n_times("안녕하세요", 10, 20)
  2. 가변 매개변수
    • 매개 변수와 다르게 사용 시 매개변수를 다르게 할 수 있음.
    • 가변 매개변수 사용시 제약
      • 가변 매개변수 뒤에는 일반 매개변수가 올 수 없음
      • 가변 매개변수는 하나만 사용 가능함.
    • 가변 매개변수의 구조.
      def 함수이름(매개변수1, 매개변수2, ..., *가변매개변수):
      	CODE...
      
      def print_n_times(n, *values):
      	for i in range(n):
      		for value in values:
      			print(value)
      		print()
      
      # 함수 호출
      print_n_times(3, "안녕하세요", "즐거운", "파이썬 프로그래밍")
      
      # 결과
      안녕하세요
      즐거운
      파이썬 프로그래밍
      
      안녕하세요
      즐거운
      파이썬 프로그래밍
      
      안녕하세요
      즐거운
      파이썬 프로그래밍
  3. 기본 매개변수
    • 기본 매개변수를 지정하면 가변 매개변수 뒤에도 일반 매개변수를 사용할 수 있음.
    • '매개변수 = 기본값' 형태로 되어 있음.
    • 아무런 매개변수가 지정되지 않았다면 기본값으로 지정됨.
    • 기본 매개변수 사용지 제약
      • 기본 매개변수 뒤에는 일반 매개변수가 올 수 없음.
    • 기본 매개변수 구조
      def 함수이름(매개변수, ..., 매개변수=기본값):
      	CODE...
      
      def 함수이름(*가변매개변수, 매개변수, ..., 매개변수=기본값):
      	CODE...
      def print_n_times(value, n=2):
      	for i in range(n):
      		print(value)
      
      # 함수 호출
      print_n_times("안녕하세요")
      
      # 결과
      안녕하세요
      안녕하세요

     

연습문제

'Python' 카테고리의 다른 글

혼공파 6주차  (0) 2020.08.14
혼공파 3주차  (0) 2020.07.24
혼공파 2주차  (0) 2020.07.17
혼공파 1주차  (0) 2020.07.09
Comments