본문 바로가기

파이썬 TIP/라이브러리

typing > type hint

Type signature(annotation)는 파이썬에서 함수의 입력과 반환 타입을 명시적으로 하는 방법이다.

tpye 1. 변수

아래 예시는 입력 x는 ndarray 타입이고, 반환 값도 ndarray 타입이다.

import numpy as np
from numpy import ndarray

def add1(x:ndarray) -> ndarray:
  '''
   ndarray타입 x 변수를 입력 받고 1을 더한 후 ndarray로 반환한다.
  '''
  return np.add(x, 1)

type2. 함수

아래 예시는 함수func과 x을 받고, ndarray 타입으로 반환한다.

Callable은 ndarray 입력이 1개이고 ndarray로 1개 반환한다는 의미이다.

from typing import Callable

def funcions(func:Callable[[ndarray], ndarray],
             x: ndarray) -> ndarray:
    '''
    ndarray타입 x 변수를 입력 받고 func에서 계산한 후 ndarray로 반환한다.
    '''
    return func(x)

tpye3. 연속 함수

아래 예시는 여러 함수와 x을 받고, ndarray 타입으로 반환한다.

add1 함수를 두개 전달 하고 x 변수에 대해 이 함수를 연속으로 계산한다.

from typing import List

array_func = Callable[[ndarray], ndarray]
chain_func = List[chain_func]

def chain_func(chains:chain_func,
               x: ndarray) -> ndarray:
   '''
   ndarray타입 x 변수를 입력 받고 func을 연달아 계산한 후 ndarray로 반환한다.
   함수 입력은 2개로 제한 한다.
   '''
   assert len(chains) == 2 
   
   func1 = chains[0]
   func2 = chains[1]
   return func2(func1(x))

'파이썬 TIP > 라이브러리' 카테고리의 다른 글

주피터 노트북 아나콘다 연결  (0) 2023.02.07
zipline-reloaded 환경 생성  (0) 2023.02.07
collections > UserList  (0) 2023.01.16
Alphalens 설치  (0) 2022.01.03
Ta-Lib설치 (Colab)  (0) 2022.01.03