파이썬 함수

(2024-01-02)

함수 , map() , 형 변환


1. 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) :


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

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

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


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

파이썬
   1. 파이썬   2. 파이썬 기초 문법   3. 파이썬 함수   4. 파이썬 연산자   5. 파이썬 객체   6. Python 프로그램 계층 구조  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"