본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Playdata_study/Python

210423_함수1

by 케리's 2021. 4. 24.

※ 단일 출력문 → 반복문 함수 클래스 모듈

 

함수란 ★

 1. 함수란 여러 개의 실행문을 하나로 묶은 모듈을 의미하며, 특정한 명령을 수행하는 하나의 독립된 프로그램
 2. 함수는 파이썬의 데이터 형과 흐름 제어를 알고 특정한 작업을 수행하도록 설계된 독립적인 프로그램으로 

    모듈화를 기본으로 한다. 
 3. 모듈화란 특정 기능 부분을 실행할 수 있는 블록으로 만들고 여러 실행 블록을 연결해서 프로그래밍하는
 4. 파이썬 함수의 모듈화(. py) 

    별도의 파일에 정의된 함수의 지정된 데이터, class들의 모임을 저장한 것 중 모듈 안에 저장한 함수를 말한다.
 5. 함수 사용하게 되면 실행문이 하나로 묶인 모듈이 호출되어 실행되어 편리하게 사용된다. 
     ex)  prn(10) 1-10 출력
          prn (100) 1-100 출력
 6. 파이썬의 함수는 원하는 원형의 실행 구문을 만들어 모듈화(. py->. pyc [byte]->pvm->output)로 구현하고

    호출하게 되면 실행되는 객체로 관리된다. 
      모듈 = 함수의 모듈화 + 기타 모듈 

 

함수 특징

  1. 수행명령, 복잡한 연산 등을 그룹으로 만들어서 새로운 함수로 선언한 후 함수 명을 호출해서 명령 실행,

     디버그 오류 수정 등 을 수월하게 할 수 있다.
  2. 함수는 반복 코드를 제거해서 프로그램을 작게 만든다.
  3. 긴 코드를 함수로 나누어 작성하게 되면 작은 부분에서 버그를 쉽게 수정하고 이를 조합해서 전체적인 동작하는

     프로그램을 만들 수 있다.

 

함수의 종류

  라이브러리 함수

    표준함수 또는 내장 함수라고 부르며 시스템에서 미리 작성 해 놓은 함수, 삼각함수, 지수함수, 날짜 정보 함수, 

    파일 함수, 데이터 베이스 함수 등 을 말한다.

    sys.path 가 지정된 곳의 모듈

 

       ex) python(c:\python)  python DEV(pydev)
       ex) python3.9   파이참(3.8)
            python3.9  아나콘다(3.8) 

 

  사용자 정의 함수

    사용자가 직접 만들어서 사용하는 함수 →. py 전역 패스 설정

 

  built-in 함수

    python 설치 시 기본적으로 제공되는 함수  print(), type() 등
       >>> dir(__builtins__)>>> help(print)

 

 

 [형식]
    def 함수명 (매개변수, 매개변수=초기값, *args, **args): 
         명령 수행문
         return 값 

 

 

함수의 선언과 호출 

  함수는 호출되면 함수의 정의 부로 이동해 함수의 모든 내용을 순차적으로 실행한 후 

  함수가 종료되면 호출되었던 곳으로 다시 돌아온다. 

  함수를 호출할 때는 함수명( )으로 호출하고 매개변수가 있는 함수를 호출할 때는 함수의 원형에 맞는 

  매개변수의 자료형과 같은 값을 매개변수로 전달해야 만 호출이 가능하다.

   →  함수는 매개변수로 초기값을 지정할 수가 있고 *args로 지정하게 되면 순서 있는 나열형 목록을 대입할 수 있다. 

       일반 매개변수, 가변 매개변수가 선언될때는 가변 매개변수는 반드시 일반 매개변수 뒤에 하나만 선언된다  

       **args로 지정하게 되면 dict타입이 선언된다.

 

   ex) def test01 (a,*b): o
        def test01 (a,*b,c):x
        def test01 (*a,*b):x
        def test01 (a,b,*c):o
        def test01 (a,b=2,*c):o


  함수는 크게 [return 값] 이 생략된 함수와 datatype의 return 값을 가진 원형으로 구분되며 

  return 문을 생략하면 None을 반환하고 return 값이 있다면 함수는 결괏값을 다시 다른 호출된 모듈로 보내는 함수

 가 된다. 

 

함수를 호출할 때는 "함수명(매개변수)"의 형태로 호출하며 매개변수(parameter)는 호출된 함수에 전달할 초기값을 

대입할 변수를 의미하고 argument는 호출할 때 전달할 값을 의미한다.

 

 

 

함수의 매개 변수 전달 특징 

  1. argument들은 위치나 parameter 이름으로 전달된다. 
  2. parameter는 기본값을 제공할 수 있다. def getB(a, test=3):
  3. argument 들은 tuple를 대입할 수 있도록 함수를 정의할 수 있다.  *변수 
         def t(*a):      print(a) 

  4. argument 들은 dictionary를 대입할 수 있도록 함수를 정의할 수 있다.  ** 변수 
        def t (**a):    print(a)
                    t(k=1, y=1)
                    {'k':1, 'y':1}
  5. def 함수명 (매개변수, 매개변수 = 초기값, *args, **args):

 

 

※ 파일 패키지 프로젝트
   프로젝트 패키지 파일(모듈) 진입점(main(exe))

 

 

ex1) 

 

ex2) 

 

ex3)  함수를 호출해서 값을 리턴하기 

 

 

ex4) 값을 리턴하는 함수 

 

ex5)  매개인자 값을 받는 함수 호출

 

기타 함수 

  ord('a') : unicord로 리턴

  chr(97) : 글자로 리턴

 

repeat 

 

 

prn ( ) 함수  

 

함수의 가변 인자 값

*args : tuple 

'|Playdata_study > Python' 카테고리의 다른 글

210426_클래스1  (0) 2021.04.26
210426_함수2  (0) 2021.04.26
210423_제어문2 (흐름 제어문)  (0) 2021.04.24
210422_PVM  (0) 2021.04.22
210422_제어문1 (조건문, 반복문, 흐름제어문)  (0) 2021.04.22

댓글