파이썬의 함수
함수의 정의
-
함수의 이름 또한 식별자 규칙을 지켜야 함(특수문자, 공백, 대 소문자 구분 등)
-
제어문과 마찬가지로 콜론과 들여쓰기를 꼭 해야 함
-
아무 행동도 하지 않는 함수는 pass키워드를 적어줘야 함
-
함수의 설명(Docstrint)을 적어둘 수 있음
-
내장 함수 help()를 사용해 해당 함수의 설명을 확인할 수 있음
함수의 호출
-
매개변수가 있다면, 해당 인자를 호출할 때 적어줘야 함
함수의 반환
-
함수 실행 종료 후, 지정한 값을 함수가 호출된 지점으로 반환할 수 있음
-
두 개 이상의 값을 반환하면, 결과 값은 튜플로 변환
-
매개변수의 자료형은 동적으로 결정되며, 호출되는 순간 해다 인자에 전달되는 객체에 따라 자료형이 결정됨
지역변수
-
함수 내에서 만들어진 변수
-
함수가 실행될 때 생성되며, 함수가 종료될 때 사라짐
전역변수
-
함수 밖에서 만들어진 변수
- 함수와 관계없이 사용 가능하며, 함수 안에서 참조 가능
-
global 키워드를 사용해 함수 안에서 전역변수 활용 가능
함수에서의 값 전달
-
함수의 매개변수로 전달 받은 값을 함수 내에서 변경했을 때, 인자로 전달된 외부 변수의 값은 변경되지 않음
-
자료형에 따라 다르지만 변경 불가능한 객체인 경우 값을 복사하여 전달
-
전달 받은 객체 자체의 변경이 아닌 객체의 요소를 변경하는 것은 가능
기본 매개변수
-
매개변수에 기본 값(Default)을 설정해 값이 없어도 오류가 발생하지 않음
-
함수 생성 및 호출 시 기본 값이 있는 매개변수가 일반 매개변수보다 앞에 올 수 없음
키워드 매개변수
-
함수를 호출할 때 인자는 순서대로 전달됨
-
순서와 상관 없이 매개변수의 이름과 함께 값을 전달할 수 있음
가변 매개변수
-
일반 매개변수 다음에, *매개변수로 가변 인자를 전달할 수 있음
-
일반 매개변수에 할당되는 인자를 제외한 나머지 인자는 튜플로 할당