본문 바로가기
Python

[Python] 함수 def

by ybin.im 2024. 12. 9.

함수 정의

반복적으로 사용하는 등 작업을 수행하기 위해 코드를 미리 정의해두고 사용.
def 함수명(매개 변수1, ... ):
     실행문장

함수명(인수)

함수화의 장점

 - 중복된 코드를 함수화하여 간결하게 코드작성 가능

 - 가독성을 높인다.

 


 

내가 선언한 매개변수의 순서대로 인수를 잘 대입하자.
매개변수를 dan과 end의 순서로 선언했으니
인수도 dan, end 순서로 넣어야한다.

함수의 장점은 내가 만들고싶은 코드를 미리 만들어두고 호출해서 빠르게 사용할 수 있다는 것.

return

함수내부에 수행 결과를 결과값으로 return에 담아서 보내는 것.
return값은 상황에 따라 리스트, 튜플, 딕셔너리, 셋 등 다양하게 내보낼 수 있다.
함수를 호출하여 사용할 떄, return값을 반환받을 변수가 필요.

▶코드, 리턴값이 있는 함수

입력한 범위 내의 수를 모두 더하는 함수이다.
total을 return한다.

그렇게 리턴받은 값을 변수에 넣어서 사용할 수 있다.


리스트나 딕셔너리 리턴

리스트나 딕셔너리도 리턴받아 사용할 수 있다.


리스트 내포를 사용한 리스트 값 리턴

for문이나 리스트내포를 사용하여 리턴하면
값을 변경하여 새로운 리스트로 리턴할 수 있다.

제곱하여 값을 반환하게된다.


함수화된 자판기 프로그램

자판기 프로그램
 - 사용자의 종류를 1. 소비자, 2. 사용자로 물어보며, 숫자또는 글로 입력을 받는다.
 - 입력받을 시 어떤 경우든 잘못입력했을 경우 잘못입력되었다는 문구 출력

 -  소비자일경우
1. 마시고싶은 음료를 입력받고 리스트에서 삭제한다.
2. 리스트에 없다면 없음 출력

 - 사용자일경우
1. 음료수 추가 또는 삭제 기능
2. 추가일 경우 추가하는 음료수를 입력받고 추가된 리스트 출력
3. 삭제일 경우 삭제하는 음료수를 입력받고 삭제된 리스트 출력
4. 없다면 현재 없는 음료수라고 출력

 - 종료조건 생성

▶코드, 함수부분

 -  check_machine()
   입력값 없음
   남은 음료수 체크 

 - is_drink(drink)
   입력된 음료수가 있는지 판단 
   drink입력값 있음

 - add_drink(drink)
   음료수 추가되는 경우
   append메서드로 음료 추가
   sort메서드로 음료수 정렬

 - remove_drink(drink)
   음료수 삭제되는 경우 (소비자도 있고, 사용자도 있다. 하지만 출력문구가 달라야한다.)
   소비자가 음료를 입력했을 경우 소비자에게 음료를 주고 리스트에서 삭제
   이외의 경우 음료 삭제

 

▶함수사용

 

어디서 어떤 기능이 사용되었는지 주석이 없어도 알아보기가 편하다.