함수
: 프로그램상에서 자주 사용되는 코드를 하나의 기능으로 묶어서 사용
● 함수 정의
def 함수명(인수 목록) :
# 기능 ( 하나의 함수에는 하나의 기능)
● 함수 호출
함수명(인수 목록)
함수의 이름만 작성하고 재생하면 type()함수와 비슷하게 생긴 정보가 뜸
● pass 명령
def 함수명(인수목록) :
pass #기능을 정의하지 않고 실행하면 에러가 발생하는데 그 에러를 방지
●리턴값
: 함수의 실행 결과를 호출원으로 돌려주는 값
: 꼭 리턴값이 있어야 하는 것은 아님
: 단, 리턴값이 없는 함수는 값이 아니기 때문에 변수에 대입하거나 수식내에 사용하면 오류남
인수
: 함수로 전달되는 매개변수
: 아예 없을 수도 있고 개수에도 제한이 없다
형식 인수 : 함수 정의문의 인수
실인수 : 함수 호출문에서 전달하는 인수
● 가변 인수
: 함수를 호출할 때 함수 정의문에 쓴 인수의 개수만큼 실인수를 전달해야하지 않으면 에러가 나는데 가변 인수의 경우 임의 개수의 인수를 받는다
: 함수 정의문 def 함수명(*인수) > 인수 앞에 * 붙임
: 인수의 타입은 tuple로 들어감
: 가변 인수와 일반 인수를 같이 쓸 경우 가변 인수는 뒤에 와야함
func(a, *aa) #가능
func(*aa, a) #에러
: 가변인수는 한 개만 적을 수 있다
● 인수의 기본값
: 들어올 인수에 대해 기본값을 미리 지정하여 함수 호출시 인수를 넣지 않아도 기본값으로 계산한다
: 어떤 인수든 기본값을 지정할 수 있으나 일반인수와 기본값이 있는 인수를 함께 쓸 경우 기본값을 가지는 인수는 일반인수 뒤에 작성한다
ex) def func(a = 1, b = 2, c = 3): #가능
def func(a, b = 2, c = 3): #가능
def func(a = 1, b, c): #불가능
● 키워드 인수
: 함수 호출시 함수 정의문에 적은 인수의 순서대로 실인수를 전달하는데 인수의 이름을 지정하여 전달하면 순서가 바뀌어도 상관 없음
위치 인수 : 순서대로 인수를 전달하는 방식
ex) def func(a , b, c):
func(b = 1, c = 3, a = 2)
: 위치 인수가 항상 먼저 와야 하며 앞쪽에 키워드 인수가 있으면 뒤에 인수도 이름을 지정해줘야 한다
● 키워드 가변 인수
: 키워드 인수를 가변 인수로 전달할 때는 **를 인수 앞에 붙임
: 여러개의 키워드 인수를 전달하면 인수의 이름과 값을 쌍으로 dict로 전달
ex) def func(**args)
func(a = 3, b = 2, c = 1)
● 위치 인수, 일반 인수, 키워드 가변 인수 전부 사용하기
: 일반 인수가 제일 앞에 위치인수, 키워드 인수 순으로 와야한다
ex) def func( a, *h, **q):
func( 'ex', 3, 4, 5, 6, end = 12)
'코딩 배우는 중 > Python' 카테고리의 다른 글
Python : 리스트 (0) | 2023.03.14 |
---|---|
Python : 기본 구조, 변수 (0) | 2023.03.06 |