Python - typing 模塊 —— Any Type


前言

typing 是在 python 3.5 才有的模塊

 

前置學習

Python 類型提示:https://www.cnblogs.com/poloyy/p/15145380.html

 

常用類型提示

https://www.cnblogs.com/poloyy/p/15150315.html

 

類型別名

https://www.cnblogs.com/poloyy/p/15153883.html 

 

NewType

https://www.cnblogs.com/poloyy/p/15153886.html

 

Callable

https://www.cnblogs.com/poloyy/p/15154008.html

 

TypeVar 泛型

https://www.cnblogs.com/poloyy/p/15154196.html

 

Any Type

  • 一種特殊的類型是 Any
  • 靜態類型檢查器會將每種類型都視為與 Any 兼容,將 Any 視為與每種類型兼容

 

小栗子

# Any
from typing import Any

a = None  # type: Any
a1 = []  # OK
a2 = 2  # OK

s = ''  # type: str
s1 = a  # OK


def foo(item: Any) -> int:
    # Typechecks; 'item' 可以是任意類型
    print(item)
    return 1


foo(a)
foo(a1)
foo(a2)
foo(s)
foo(s1)

 

隱式使用 Any

def legacy_parser(text):
    ...
    return data


# 上述寫法等價於下述寫法
# 所有沒有返回類型或參數類型的函數將隱式默認使用 Any


def legacy_parser(text: Any) -> Any:
    ...
    return data

 

Union

https://www.cnblogs.com/poloyy/p/15170066.html

 

Optional

https://www.cnblogs.com/poloyy/p/15170297.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM