"5. 함수"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
2번째 줄: 2번째 줄:
  
 
==개요==
 
==개요==
인수를 넣어주면 일정한 연산을 수행해 내뱉는다.
+
인수를 넣어주면 일정한 연산을 수행하는 기능.
  
 
반복된 프로그래밍을 피하고 전체적인 가독성을 높이기 위해, 쉬운 유지보수를 위해 사용한다.
 
반복된 프로그래밍을 피하고 전체적인 가독성을 높이기 위해, 쉬운 유지보수를 위해 사용한다.

2021년 4월 13일 (화) 18:40 판

함수의 사용에 대한 문서.

1 개요

인수를 넣어주면 일정한 연산을 수행하는 기능.

반복된 프로그래밍을 피하고 전체적인 가독성을 높이기 위해, 쉬운 유지보수를 위해 사용한다.

2 선언

2.1 선언위치

사용하기 전에 선언되어야 한다.(보통은 맨 위에)

다른 언어와 달리 탭 1회나 띄어쓰기 4회로 함수 내 명령을 구분한다.(가독성을 위해)

형태 방법
기본형식
def 함수명(인수값):
    명령
인수가 없이 만들 수도 있다.
반환값 만들기 결과값을 반환하지 않는 함수를 프로시저라 부른다.
def 함수명(인수값):
    명령
    return 반환값
변수명 = 함수명(인수값) 형태로 반환값을 객체에 담을 수도 있다.
인수가 여러개일 때
def 함수명(인수1, 인수2):
    명령
    return 반환값
반환값이 여러개일 때
def 함수명(인수1, 인수2, ...):
    명령
    return 반환값1, 반환값2, ...
여러 결과를 통째로 반환하면 튜플 형태로 받는다.

변수1, 변수2 = 함수() # 이 형태로 사용하면 반환하는 순서대로 변수에 대입된다.

인수값을 특정할 수 없을 때

가변인수를 사용한다.

def 함수명(인수1, 인수2, ..., *인수):
    명령
    return 반환값1, 반환값2, ...
#가변인수는 가장 뒤에 두며, 이들은 튜플형태로 저장된다.

튜플명은 인수명으로.

튜플이 아닌 딕셔너리로 가변인수
def 함수명(인수1, 인수2, ..., **인수):
    명령
    return 반환값1, 반환값2, ...
#딕셔너리 인수를 넣을 땐 키=값 형태로 기입한다.
인수에 기본값을 지정할 때
def 함수명(인수1, 인수2=기본값):
    명령
    return 반환값
함수에 대한 설명을 넣을 때 함수값을 기입할 때 볼 수 있다.
def 함수명(인수)
    """함수에 대한 설명"""
    명령

함수 안에서 함수를 불러오는 등 다양하게 사용할 수 있다.

2.2 사용

함수명(인수) 형태로 사용한다.

2.3 tip. 인수가 너무 많을 때

인수가 너무 많을 때 중간에 새로운 인수를 끼워넣어 함수를 편집하게 되면 기존에 사용하던 명령이 어그러질 위험이 있다. 다시 고치기도 귀찮고. 그럴 땐

함수명(인수=입력값)형태로 사용하면 인수의 순서를 고려하지 않고도 함수를 사용할 수 있다.

3 특성

3.1 지역변수와 전역변수

기본적으로 함수 내부에서 정해진 변수는 사용이 끝나면 지워진다.

3.2 전역변수의 사용

에러 원인 해결법
UnboundLocalError: local variable '변수명' referenced before assignment 함수 밖의 전역변수를 인식하지 못했을 때. 함수 초반에

global 변수명을 넣어준다.

4 ps