상세 컨텐츠

본문 제목

17. 파이썬 함수

프로그래밍 언어/Python(파이썬)

by 알파고제로 2023. 10. 13. 16:46

본문

1. 함수

■ 함수란?

  • 이름이 있는 코드 조각
  • 매개변수와 반환 값이 있다.
  • 정의하고 난 후 호출을 한다.
  • 내장함수 (print() 등...) 와 외장함수가 있다.

    1) 함수 정의

          def 함수명() :   # 매개변수가 없는 함수

                  [ return 코드 ]

 

          def 함수명(a, b) :  # 매개변수가 있는 함수

                  [ return 코드 ]

    2) 함수 호출

          함수명()

          결과값을 받을 변수 = 함수명(입력 인수 1, 입력 인수 2, ...)

# 함수정의(매개변수가 없는 함수)
def something():
	print(“hahaha”)

x = something()
print(x)

# 매개변수가 있는 함수
def mymax(a, b):
    if a > b :
	    print(a, '가 크다')
    elif a < b :
    	print(b, '가 크다')
    else:
    	print('두 값이 같다.')
        
mymax(1, 2)
mymax(4, 3)
mymax(5, 5)

 

2. 함수 (매개변수와 인수)

■ 매개변수와 인수

  • 매개변수(parameter) : 함수에 입력으로 전달된 값을 받는 변수를 의미
  • 인수(arguments) : 함수를 호출할 때 전달하는 입력 값을 의미한다.

■ 인자를 지정한 함수의 호출

  • Python은 매개변수의 수만큼 전달해줘야 하는 것이 기본이지만, 가변인자 사용도 가능
  • 매개변수에 초기값을 설정할 수 있다.

■ 키워드 인자를 이용한 호출(Keyword argument)

  • 호출할 때 매개 변수명과 값을 지정하여 호출하는 방식
  • 위치 인수와 키워드 인수를 섞어서 호출할 수 있으며, 이때 위치 인수를 먼저 적고 뒤쪽에 키워드 인수를 적는다.
def calcstep(begin, end, step):
	pass

calcstep(end=3, 5, 1) # error

 

3. 함수 초기값 설정

■ 초기값(default parameter)의 설정

  • 함수 정의부의 매개변수에 초기값을 설정하면, 해당 매개 변수의 값이 전달되지 않았을 경우 지정된 초기 값으로 세팅된다
  • C++의 default parameter와 유사
  • default parameter 값은 오른쪽에서부터 채워야 한다 (즉, 기본값을 가지는 인수 뒤에 일반 인수가 올 수 없다.)
    ex) def calcstep(begin, step=1, end) # error   def calcstep(begin, end, step=1)

■ None

  • 아무것도 없다는 것을 뜻하는 상수 값.
  • False와는 다르다
# 위치 인자를 이용한 함수의 호출
def restaurant(food, drink, dessert):
	return {'food' : food, 'drink' : drink, 'dessert' : dessert}

first =  restaurant('소고기 안심 스테이크', '적포도주', '치즈 케익')
print(first)

# 호출 시 매개변수의 이름을 함께 지정하면 순서에 상관 없이 호출 가능!
second =  restaurant(drink='막걸리', dessert='파전', food='잔치국수')
print(second)

# Default Parameter : 매개 변수에 초기값을 지정하는 것
def  restaurant(food='연어초밥', drink='사케', dessert='아이스크림'):
	return {'food' : food, 'drink' : drink, 'dessert' : dessert}

print(restaurant())
print(restaurant('돈부리'))
print(restaurant('돈까스', '맥주'))
print(restaurant('치즈까스', '소주', '과일'))

'프로그래밍 언어 > Python(파이썬)' 카테고리의 다른 글

18. 파이썬 변수 범위  (0) 2023.10.13
16. 파이썬 iterator 함수  (0) 2023.10.13
15. 파이썬 Comprehension  (0) 2023.10.13

관련글 더보기

댓글 영역