파이썬 함수

(2024-08-11)

함수 , map() , 형 변환


1. Python 함수의 특징파이썬 함수 이름은, 변수 이름과 동일한 규칙을 따름
     - 문자나 _로 시작하고, 문자, 숫자, _만 포함할 수 있음
  ㅇ 파이썬 함수의 정의
     - def 키워드를 사용하여 정의함
     - 함수명 직후에 괄호를 주고, 
        . 그 안에 매개변수를 받을 수 있으며, 
        . 매개변수가 없어도 괄호를 포함해야 함
     - 함수의 본문은, 콜론(:) 뒤에, 
        . 들여쓰기 된 코드 블록으로 작성함
  ㅇ 자기 자신을 호출 가능
     - 이를 재귀 함수라고 하며, 복잡한 문제를 단순화하는 데 유용


2. Python 함수의 종별

  ㅇ 내장 함수 (Built-in Function)
     * (모듈이나 패키지를 가져오지 않고도 즉시 사용 가능한 함수)
     - 산술
        . (절대값) abs()
        . (합) sum()
           .. 例) sum({1,2}) => 3, sum({0:1,1:3}) => 4, sum([1,2,3]) => 6, sum([1,2,3],10) => 16    
        . (나눗셈) divmod(,) : 몫과 나머지 함께 구하기 (결과를 튜플로 반환)
           .. 例) quotient, remainder = divmod(7, 2) => quotient = 3, remainder = 1 
        . (최대,최소)  max(), min()

     - 형변환
        . str() : 수치(숫자형)를 문자열로 변환
        . int() : 문자열정수형 수치로 변환
        . float() : 문자열실수형 수치로 변환
           .. [참고] 양의 무한대 : float('inf'); 음의 무한대 : float('-inf');
        . int() : 정수형으로 변환 (단, 소수 이하 반올림 올림이 아니고 내림 임)
        . float() : 실수형으로 변환 
        . round() : 반올림
        . bool() : 논리형으로 변환 (논리값 판정)
           .. int,float일 때, 0 => False, 0이 아니면 => True 
           .. chr,str일 때, 빈 값 => False, 빈 값 아니면 => True

     - 아스키 코드
        . ord() : 문자를 아스키 코드 값으로 변환
        . chr() : 아스키 코드 값을 문자로 변환

     - 파일 처리
        . 파일 열기 : open()
           .. 형식 : fileobj = open( filename, mode [, encoding=] )
           .. mode : 첫자 (동작:r,w,x,a), 둘째자 (타입:t,b)
        . 파일 닫기 : fileobj.close()
        . 자동 처리 : with open(filename, mode) as fileobj:

     - 입력
        . input() : 입력된 값을 문자열로 변환 출력
           .. input('입력: ')  =>  입력: xxx [Enter]
           .. input.split()  =>  `입력된 문자열을, 공백 기준으로 잘라내어 리스트로 출력`
           .. A, B = input.split()  =>  `입력 문자열을, 공백 기준으로 잘라, A,B 변수에 각각 저장`
           .. A, B = map(int,input.split())  =>  `입력을, A,B 변수 각각에, int 변환 후 저장`

     - 출력 : 화면에 표시
        . format()
        . globals()
        . print() 

     - 문자열
        . len() : 문자열 길이

     - 특정 범위 내 리스트 생성
        . range([strat,] stop [,step]) : 특정 범위 내 차례대로 증가하는 숫자 리스트를 생성 반환
           .. 형식 : range(시작,끝,증가값), range(시작,끝), range(끝)
           .. 例) list(range(3)) 또는 list(range(0,3)) => [0,1,2]
           .. 例) list(range(3,7)) => [3,4,5,6]
           .. 例) list(range(3,7,2)) => [3,5]

     - 길이(크기) 알아보기 : len()

     - 자료형 알아보기 : type()

     - 메모리 위치 확인 : id()
        . 메모리 상에 위치한 객체주소를 가져와 출력

     - 정렬 
        . sorted() : 순서대로 정렬
           .. sorted(data), sorted(data, reverse-parameter), sorted(data, key-parameter),
              sorted(data, key-parameter, reverse-parameter)
        . reversed() : 거꾸로 정렬 (뒤집기)

     - 반복
        . iter() : Iterator 객체를 생성하여 이를 반환
        . enumerate(Iterable 객체 [,시작번호]) 
           .. 리스트Iterable 객체인수로 받아, Iterator 객체를 생성 반환
        . map(콜백함수, Iterable 객체)
           .. 리스트Iterable 객체인수로 받아, 
           .. 각 원소들을 콜백함수로 처리하고,
           .. 그 결과로써, Iterator 객체를 생성 반환
           .. 例) list(map(lambda n : n**2, [1,2,3])) => [1,4,9]

     - 데이터를 짝으로 엮기 : zip()
        . 이터러블(iterable:순회가능한) 객체를 인자로 받고, 
        . 각 객체 내 원소 마다, 튜플 형태로, 차례로 접근할 수 있는 반복자(iterator)를 반환 
           .. 例) A=[1,2,3];B=[-1,-2,-3];[a+b for a,b in zip(A,B)] => [0, 0, 0]

     - 객체 대상 
        . dir(객체명) : 객체 내 존재하는 요소들의 이름 보여주기
        . hasattr(객체명,속성) : 객체 내 주어진 속성이 있는지 여부 (true/false) 
        . id() : 객체 마다 부여된 (식별용) 상수를 리턴
   
     - (내장 함수 목록)
        . abs(), all(), any(), ascii()
        . bin(), bool(), breakpoint(), bytearray(), bytes(),
        . callable(), chr(), classmethod(), compile(), complex()
        . delattr(), dict(), dir(), divmod()
        . enumerate(), eval(), exec()
        . filter(), float(), format(), frozenset()
        . getattr(), globals()
        . hasattr(), hash(), help(), hex()
        . id(), input(), int(), isinstance(), issubclass(), iter()
        . len(), list(), locals()
        . memoryview(), min(), map(), max(), next()
        . object(), oct(), open(), ord()
        . pow(), print(), property()
        . range(), repr(), reversed(), round()
        . set(), setattr(), slice(), sorted(), staticmethod(), str(), sum(), super()
        . tuple(), type()
        . vars(), zip(), __import__()

     * [참고] ☞ 내장 함수 (파이썬 홈페이지)

  ㅇ 사용자 정의 함수 (User-defined Function)
     - def문을 사용하여 사용자가 직접 정의하는 함수
        . 例) def my_function(x,y) :


3. 익명 함수 (Anonymous Function) 또는 람다 표현식 (Lambda Expression)

  ㅇ (형식) lambda 인수: 표현식
     - 람다 표현식변수 할당 : 변수 = lamda 인수: 표현식
     - 람다 표현식의 호출 : (lamda 인수: 표현식)(인수값)

  ㅇ 例) var = lambda n1, n2 : n1 + n2
     - var : 생성된 익명 함수의 참조를 저장하는 변수
     - lambda : 람다 표현식키워드
     - n1, n2 : 매개변수
        . n1 + n2 : 실행될 함수 본체
        . 익명 함수의 호출 : var(2,3)


4. Function Annotation (함수 주석), Type Hint (타입 힌트), Type Annotation (타입 주석) 함수매개변수 및 리턴값의 자료형을 명시적으로 지정(주석)하기 위함으로, 강제성은 없음
      def 함수명(매개변수1 : 매개변수1_주석, 매개변수2 : 매개변수2_주석) -> 리턴값_주석 :

파이썬
1. 파이썬   2. 파이썬 기초 문법   3. 파이썬 함수   4. 파이썬 연산자   5. 파이썬 객체   6. Python 프로그램 계층 구조   7.
파이썬 자료형
  8.
파이썬 반복
  9.
파이썬 활용
 


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          후원
[파이썬]1. 파이썬   2. 파이썬 기초 문법   3. 파이썬 함수   4. 파이썬 연산자   5. 파이썬 객체   6. Python 프로그램 계층 구조   7. [파이썬 자료형]   8. [파이썬 반복]   9. [파이썬 활용]  

  1. Top (분류 펼침)      :     1,604개 분류    6,618건 해설