10-1 함수의 정의
- 함수
함수 : 특정한 작업을 수행하기 위해서 필요한 명령어들을 묶어놓은 것
함수는 필요할 때 바로 정의하고 사용함
함수의 구조
def 함수명(인자1, 인자2, ..., 인자n) :
실행해야 할 명령문
return 반환 값 # 없으면 생략함
함수의 시작과 끝은 코드의 들여쓰기로 구분함
인자 : 매개변수(parameter)라고 하며, 변수나 입력 받은 값 등을 함수 안으로 전달해주는 역할
반환 값 : 함수 실행 후 결과 값
함수의 예시1)
<실행 결과>
가로= 10 세로= 8 입니다.
사각형의 넓이는 80
사각형의 길이는 36
함수의 예시2)
<실행 결과>
메뉴번호를 입력하세요2
라떼 의 가격은 500 입니다.
10-2 매개변수와 lamda함수
- 매개변수(인자, 파라미터)
기본인자 : 함수를 호출할 때 매개변수를 지정해주지 않아도 기본값이 할당되게 하는 방법
매개변수의 기본값을 미리 지정함
두 개가 혼재되어서 사용될 때에는 기본값이 없는 것이 먼저 선언0
키워드 인자 : 매개변수 이름으로 값을 전달하는 방법
함수를 호출할 때 주로 매개 변수의 순서에 맞춰서 전달
매개변수명을 지정하면 매개변수의 순서는 상관없이 함수 호출
예시) 기본 인자와 키워드 인자
<실행 결과>
안유진 님 이 제일 좋아하는 과일은apple 입니다.
안유진 님 이 제일 좋아하는 과일은딸기 입니다.
라이언 님 이 제일 좋아하는 과일은수박 입니다.
- 스코핑롤 (지역변수, 전역변수)
이름 공간
함수는 별도의 이름공간을 가짐
지역영역 : 함수내부에서 사용되는 변수는 함수내부의 이름공간을 참조
전역 영역 : 함수 내부의 이름공간이 없으면 사위 이름공간을 찾음
지역영역의 변수를 지역변수, 전역영역의 변수를 전역변수라고 함
함수 내부에서 만든 모든 변수들은 함수 안에서만 사용하며, 함수외부에는 영향을 미치지 않음
=지역변수는 전역변수에 영향을 미치지 않음
함수가 끝나면 함수 내부에서 만든 변수(지역변수)들은 메모리 공간에서 모두 반환됨
global 선언 : 함수 내부에서 전역변수를 사용하고자 할 때 사용
예시1) 지역변수의 사용
예시 2) 전역변수의 사용
예시3) global 선언
- 정해지지 않는 개수의 인자로 함수 정의
매개변수 앞에 *를 사용
예시) 정해지지 않은 개수의 값들의 평균
<실행 결과>
10,20의 평균은 15.0
21.666666666666668
예제) 메뉴와 금액을 입력하면, 나머지 금액을 계산해주는 프로그램
함수명 : vending(금액, 메뉴)
1-밀크커피:200, 2-라떼:500, 3-우유:300, 4-율무차:300
입력된 금액이 모자라면 모자란 금액을 출력하세요
- lamda 함수
보통함수를 간결하게 만들 때 사용함
def를 사용할 수 없는 곳이나 혹은 매우 간결한 함수를 사용시 사용됨 ( def함수의 간단버전 )
lamda함수의 구조
lamda 인자1, 인자2, ..., 인자n : 명령문
- 함수 설명
help 사용
help(print)
- 내가 만든 함수에 대한 help 추가
함수명.__doc__="함수명 설명"
def 함수에 """혹은''' 사용시 자동저장
'공부 > 【Python】' 카테고리의 다른 글
【파이썬프로그래밍】 12주차- 객체지향과 클래스 (0) | 2024.05.13 |
---|---|
【파이썬프로그래밍】 11주차- 예외 처리 (0) | 2024.05.11 |
【파이썬프로그래밍】 9주차- 파일쓰기 (0) | 2024.05.11 |
【파이썬프로그래밍】 7주차-반복문 (0) | 2024.05.09 |
【파이썬프로그래밍】 6주차-제어문과 연산자 (0) | 2024.05.09 |