ssoL2 TISTORY

[기초 PYTHON 프로그래밍] 14강. 함수1 본문

com/python

[기초 PYTHON 프로그래밍] 14강. 함수1

ssoL2 2020. 12. 25. 03:09

- 함수는 입력과 출력을 갖는 black box(주어진 입력에 대해 어떤 과정 거쳐 출력이 나오는지 숨겨져 있음)

- 재사용(reuse) 가능하며 함수 이름, 입력, 출력이 중요함.

 

함수의 구조 / 함수 이름(print), 입력(Hello world), 출력(Hello world) 가 중요하다.

 


 

- 내장 함수(bulit-in functions) : 파이썬 언어에서 미리 만들어서 제공하는 함수들

- IDLE에서 dir(__builtins__) 입력하면 내장 함수 목록 출력함

 

내장 함수 목록

 

- 사용자 정의 함수(user-defined function) : 사용자가 직접 만드는 함수

 

- 군집자료형에 유용한 함수들

 

len()

max()

min()

sum()

sorted() # 리스트가 아닌 튜플, 집합에서 sorted되면 자동으로 리스트로 변환된다.

reversed() # 뒤에서 보충 설명

 

- reversed 함수 : 군집자료형 데이터를 역순으로 바꾼다.

- 그러나 역순하기 위해서 순서가 있는 리스트, 집합, 문자열에만 적용 가능

- reversed() 함수 사용 후 list로 형변환 하여 사용해야 print 출력 가능함

 

reversed() 함수는 list로 형변환 후 사용하자

 


 

- 함수 정의하기

 

def 함수명 (parameter매개변수) :

     """ 이 함수에 대한 설명 
          ...
          ...                        """
     
     return 반환값

ex) def find_max(a,b) :

          if a > b :

             y = a

          else :

             y = b

          return y

 

- docstring : """ .................... """ (주로 함수 설명위해 사용한다)

- 함수명은 변수명 규칙과 같다. 영문 대소문자, 숫자, _로 구성되며 숫자로 시작 불가능

 

 

- 함수 호출하기 : 함수명에 인수를 넘기면서 호출함

 

a = 함수명(argument인수)

함수를 정의한 후 '호출'을 해야함 이때, 적절한 인수를 넣어서 호출하고 적절한 변수에 저장한다.

ex) m = find_max(10,20) # 10, 20 : 인수(argument)

     n = find_max(7,3) # 7, 3 : 인수(argument)

     print(m,n) # 20 7 출력

 


 

- 인수, 반환값이 없는 함수

- 함수에 입력이 없으면 빈 괄호로, 함수에 출력이 없으면 return 구문을 없앤다.

 

- 대신 반드시 함수가 '정의'되고 '호출'을 해야한다.

  순서가 '정의' -> '호출' 

 

- 인수가 여러개인 함수 : 인수 개수만큼 parameter 필요함

 

인수 여러개인 함수 예시 / 반드시 사용자 정의 함수 정의한 후에 호출해야 한다

 

- 함수에서 return 문이 여러 번 나오는 경우 : 가장 먼저 return 만나는 순간 값 반환 후 종료됨

 

return 문이 여러 번 나오는 함수 예시

 

- 반환값이 여러 개인 경우 : 튜플로 묶어서 반환

 

반환값이 여러개인 함수 예시 / add_multiply는 (sum,mult) 튜플을 반환하고 이후 m,n=(sum,mult)이므로 m=sum, n=mult가 된다.

 

- 함수는 호출전에 정의되어 있어야 한다. 

 

- main은 프로그램 시작점을 의미

  그러나 파이썬에서는 인델트 안된 첫 문장부터 읽기 때문에 따로 main 함수는 없다.

 

python main 시작임을 알리기 위해 if 조건문으로 main 함수를 정의한다.

 

Comments