웹 서비스 개발(FB,BE,SERVER,DB)/Python

4. 함수 (Function)

Zoo_10th 2024. 1. 8.

1. 함수 (Function)

 - 입력값을 받아 내부적인 기능을 수행한 뒤 결과값을 출력하는 것이다.

 - 입력값(Input)이 입력되면 기능(Function)을 수행하고 결과값(Output)을 출력한다.

 

2. 사용자 정의  함수 (User Defined Function)

특정 기능을 반복해서 사용해야 할 때, 간단하게 기능을 반복할 수 있는 함수를 사용자 정의 함수라 한다.

함수는 모두 하나의 코드 블록에 모아서 작성하면 그 코드 블록 안에 기능을 넣음으로써 함수가 생성된다. 변수와 마찬가지로 함수는 메모리에 저장된다.

 

2-1. 매개변수

매개 변수가 없는 함수도 있다. 

매개변수란 함수의 코드 블록에서 사용될 값을 말한다. 함수를 작성하면 그 안에 내부 기능을 담당하는 부분에 사용될 값들을 미리 지정해야 한다. 함수를 정의할 때 사용되는 입력값은 매개변수(parameter)이며 함수를 호출할 때 사용되는 입력값을 인자(arguments)이라고 한다.

 

2-2. return

함수의 구조에서는 출력값(Output)이 특정한 경우를 제외하고 반드시 필요하다. 하지만 출력 값이 없는 함수도 존재한다.

함수를 작성하여 사용하는 이유가 입력값을 계산해서 결과를 출력하여 사용하기 위한 것이기 때문입니다.

 

2-3. 임시 매개변수

- 가변 매개변수

 가변 매개 변수는 매개변수 앞에 *(asterisk)를 사용하여 몇개의 매개변수가 필요한지 모를 때 사용할 수 있다.

 주의 할 점은 임시 매개변수는 함수 안에 tuple 구조로 사용된다.

 가변 매개변수와 고정 매개변수를 동시에 사용하는 것도 가능 하나 가변 매개 변수는 맨 뒤에 써야한다.

 

- 키워드 매개변수

 매개변수를 지정하여 어떤 매개변수에 어떤 값이 들어가는지 설명해주거나 함수를 사용할 때 인자값의 순서대로 값을 입력하는 두 가지 방법이 있다.

 함수를 작성할 때 함수의 이름뿐 아니라 매개변수의 이름도 지정하여 사용한다.

 Key와 Value의 형태로 된 키워드 매개변수를 사용한다.

키워드 매개변수는 **(Double Astrisk)를 앞에 붙여 사용하며, 일반적으로 Keyword Argument를 줄여 **kwargs라고 사용한다.

 

 

- 가변 매개변수와 키워드 매개변수 함께 사용하기

가변 매개변수와 키워드 매개변수를 함께 사용하는 경우 *args를 매개변수로 가장 먼저 작성한 후, **kwargs를 그 다음에 작성해야 한다. 만약 고정 매개변수를 포함하는 경우라면, 처음엔 고정 매개변수, 두번째로는 가변 매개변수, 세번째로는 키워드 매개변수 순으로 작성해야한다.

3. 내장 함수

파이썬에 내장된 함수이다.

파이썬에는 기본적으로 내장된 함수가 많이 존재하며, 함수명만을 사용하여 간단하게 호출할 수있다. 내장함수들은 파이썬에서 동시에 사용이 가능하다.

내장함수 화인 명령어는 dir(__builtins__) 이다.

 

3-1. 자주 사용하는 내장 함수의 종류

 - abs

abs는 Absolute의 줄임말로 절대값으로 변환해주는 함수이다.

 - chr/ord

chr은 character의 줄임말로 글자를 뜻하며, 아스키(ASCII)코드를 입력받아 해당 문자를 반환하며, ord는 chr의 반대 역할을 하는 함수이다.
 - enumerate

enumerate는 열거한다는 뜻으로 해당 객체가 갖고있는 index번호와 값을 동시에 나타내 주는 함수이다.

 - round

round 함수는 소수점을 반올림 하는 함수이다.

 - zip

zip함수는 여러 군집자료형(iteable)을 튜플 형태로 묶인 자료형으로 만드는 함수이다.

 

4. 외장 함수

누군가 코드를 미리 만들어 놓고 해당 코드 모음을 불러와 사용하도록 하는 것을 말한다.

내장 함수와 달리, 외장 함수는 함수명만으로는 사용할 수 없으며, 해당 모듈(Module)을 불러와야 사용할 수 있다. 모듈은 파이썬으로 생성한 파일 객체를 의미하며, 해당 모듈 안에는 함수, 클래스, 변수 등이 저장되어 있다.

 

4-1. Import와 From

 - import

모듈을 불러올 때 import 과정을 거친다. 지정된 파일의 함수 또는 클래스 등의 이름을 직접 사용할수 있게 해준다.

import를 사용하여  time 모듈의 time 함수를 불러온 코드이다.

 

 - from

from도 모듈을 꺼내오는 역활을 한다. 단 from을 사용하고 뒤에 import를 하면 모듈에서 꺼내올 함수나 클래스, 변수를 직접 사용할 수 있게 된다. 즉 import만 사용할 경우 모듈의 함수를 사용할 때 어떤 모듈의 함수인지를 명시해야 했다면, from에 모듈멍을 입력하고 import에서 함수명을 입력하면, 불필요한 모듈명 없이 함수를 바로 사용할 수 있다.

from을 사용하여 random 모듈의 random 함수를 불러온 코드이다.

 

728x90

'웹 서비스 개발(FB,BE,SERVER,DB) > Python' 카테고리의 다른 글

6. 클래스(Class)  (1) 2024.01.10
5. 파이썬 활용  (0) 2024.01.10
3. 제어문(Control Statement)  (0) 2024.01.05
2. 기본연산(Operator)  (0) 2024.01.05
1. 자료형(Data Type)  (2) 2024.01.04

댓글