파워 파이썬/파이썬 기초

함수와 모듈

상선약수64 2024. 6. 6. 15:12
반응형

1. 함수의 개념

  • 복잡한 문제를 한번에 프로그래밍하려면 프로그램의 길이가 길어지고 코드의 가독성이 떨어집니다. 그래서 작고 독립적인 기능으로 나누어 부프로그램을 작성하면 훨씬 생산성이 높아지고 유지보수가 용이해집니다.
  • 주프로그램(main program)은 전체를 총괄하는 프로그램이고, 주 프로그램은 간결하게 작성하는 것이 좋습니다. 부프로그램(sub program)은 프로시저(procedure), 함수(function)라고도 합니다. 
  • 아래의 그림을 보면 주프로그램에서 원하는 sub program을 호출하면, 함수가 수행되고 함수가 명령문이 끝나면 다시 주 프로그램으로 되돌아 갑니다.

주프로그램과 부프로그램

 

  • 함수는 특정한 기능을 하는 명령문의 집합으로 내장함수(built-in function)과 사용자 정의함수(user defined function)이 있습니다. 내장함수는 파이썬에서 미리 작성된 함수로서 여러분들이 많이 사용하였던 print(), len(), type() 등등이 있습니다.

 

(1) 함수정의와 호출

  • 사용자 정의 함수는 프로그래머가 정의하는 함수로서 함수를 정의하는 구문은 아래와 같습니다.

함수정의 구문

 

 

[실습] 별을 출력하는 함수를 정의하고 호출하는 프로그램

 

함수명이 start_print()이고 매개변수가 없는 함수를 정의하였으며, "*"가 한개, 두개, 세개, 네개가 출력되는 함수이고  return되는 것 결과는 없습니다. 해당하는 함수를 호출하기 위해서는 함수명() 즉 star_print()를 하면 됩니다.

 

  • 매개변수(parameter)와 인자(argument)를 살펴보면, 매개변수는 함수나 메소드 헤더부에 정의하는 변수로서 함수가 호출될때 실제 값을 할당받는 변수입니다. 인자(argument)는 함수나 메소드가 함수를 호출할때 전달되는 실제 값 입니다.  star_print(10)이라고 함수를 호출하면, 매개변수 n에 10을 할당하고, '*'을 1~10개를 출력하는 프로그램입니다.

 

출력결과

 

[실습] 두변수의 값을 곱하는 함수 

  • 매개변수의 실제값을 곱하고, return 시켜주는 multiply() 함수이고, multiply함수를 호출하는 프로그램입니다. 결과는 30입니다.  

 

  • multiply함수는 매개변수가 두개이지만  인자를 한개로 호출한다면 즉 multiply(3) 호출하면 아래와 같은 에러메시지가 표시됩니다. 즉 매개변수와 인자의 수가 동일해야 됩니다. 하지만 경우에 따라 매개변수의 수와 인자의 수를 다를경우가 있다면 매개변수에 디폴트 값을 정의하시면 됩니다. 

에러메시지

 

(2) 디폴트 매개변수 

 

  • 디폴트 매개변수(default parameter)는 함수에서는 정확한 인자를 넣어주어야 하지만, 유연하게 작업을 하기 위해서는 매개변수에 디폴트 값을 사용하는 것이 편리합니다.  아래의 프로그램은 디폴트 매개변수를 지정한 것입니다.
  • multiply()는 인자가 하나도 없으므로 매개변수 값은 a와 b는 각각 1이므로 결과는 1이 출력됩니다.
  • multiply(3)은 a에는 3이 할당되고, b는 디폴트값 1이므로 3이 출력되고, multiply(2, 15)는 인자값이 2와 15이므로 a에 2가 할당되르 b는 15가 할당되므로 30이 출력됩니다.

매개변수 디폴트값 지정

 

 

(3) *매개변수 지정

  • 매개변수의 개수를 지정하지 않고 전달하는 방법은 함수 정의할 때 매개변수에 *를 정의하면 매개변수의 수와 인자가 일치해야 되지만 *매개변수로 지정하면 매개변수는 튜플로 전달됩니다. 결과한 결과는 100, 404입니다.

 

 

3. 모듈과 패키지

 

(1) 모듈과 패키지 개면

  • 모듈은 함수의 집합으로 여러개의 함수들을 하나의 *.py인데, 즉 모듈은 파이썬으로 작성된 파일입니다. 해당하는 모듈을 사용하려면 import를 해야합니다. 즉 import Module1인데 이것은 모듈을 불러온다는 것으로 해당하는 모듈 파일을 불러와서 그 파일 안에 정의된 함수, 변수 들을 사용하겠다는 말입니다.

함수와 모듈

 

  • 패키지(package)는 여러 모듈을 모아 높은 것으로 폴더의 형태로 나타낸다. 모듈을 주제별로 분리할 때 주로 사용됩니다. 

모듈과 패키지

 

 

(2) 모듈과 패키지 불러오기

 

  • 모듈 불러오기
  • import 모듈
  • from 모듈 import 함수
  • import 모듈 as 별명
  • del 모듈은 불러왔던 모듈을 해제함

 

  • 패키지 불러오기
import 패키지.모듈
import 패키지.모듈 as 별명
import 패키지.모듈 import 함수 as 별명

 

'파워 파이썬 > 파이썬 기초' 카테고리의 다른 글

문자열 기본과 함수  (0) 2024.06.05
딕셕너리 자료구조  (0) 2024.06.04
튜플 자료구조  (0) 2024.05.07
리스트 데이터 구조  (0) 2024.04.23
반복문  (0) 2024.03.26