欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

讓你的Python代碼實(shí)現(xiàn)類型提示功能

 更新時(shí)間:2019年11月19日 09:41:53   作者:過了即是客  
今天小編就為大家分享一篇讓你的Python代碼實(shí)現(xiàn)類型提示功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

Python是一種動(dòng)態(tài)類型語(yǔ)言,這意味著我們?cè)诰帉懘a的時(shí)候更為自由,但是與此同時(shí)IDE無法向靜態(tài)類型語(yǔ)言那樣分析代碼,及時(shí)給我們相應(yīng)的提示。為了解決這個(gè)問題,Python 3.6 新增了幾個(gè)特性PEP 484PEP 526,幫助編輯器為我們提供更智能的提示。這些新特性不會(huì)影響語(yǔ)言本身,只是增加一點(diǎn)提示。當(dāng)你使用比較智能的開發(fā)工具比如PyCHarm時(shí),就會(huì)感覺到類型提示的方便之處。

變量注解

首先先看看變量注解。它的語(yǔ)法和某些類型后置的語(yǔ)言類似。

# 變量注解
a: int = 5
b: bool = True
f: float = 5.0
s: str = "abc"

聲明類型之后,編輯器和IDE就會(huì)讀取到這個(gè)類型注解,然后給予我們相應(yīng)的提示。程序在運(yùn)行的時(shí)候行為完全不變。

如果是自己編寫的類,也可以用作變量注解。

class MyClass:
 def fun1(self):
  print("fun1")


me: MyClass = MyClass()
me.fun1()

對(duì)于較復(fù)雜的內(nèi)置類型、泛型、生成器、自定義類型等,需要引入標(biāo)準(zhǔn)庫(kù)typing。對(duì)于更復(fù)雜的類型,請(qǐng)直接參考typing標(biāo)準(zhǔn)庫(kù)文檔。

from typing import TypeVar, Iterable, Tuple, Dict, List

m: Dict[int, int] = {1: 1, 2: 2}
t: Tuple[int, ...] = (1, 2, 3)
l: List[int] = [1, 2, 3, 4]

函數(shù)注解

當(dāng)使用Python編寫復(fù)雜的函數(shù)時(shí),我們常常為沒有合適的提示而苦惱。函數(shù)注解可以幫助我們解決這個(gè)問題。

def add(a: int, b: int) -> int:
 return a + b

為函數(shù)添加注解之后,當(dāng)我們調(diào)用這個(gè)函數(shù)的時(shí)候,編輯器就會(huì)給予對(duì)應(yīng)的提示。當(dāng)處理大型項(xiàng)目的時(shí)候,這個(gè)特性會(huì)很有用。

函數(shù)注解保存在函數(shù)的__annotations__屬性中,如果你準(zhǔn)備編寫程序讀取它,可以使用這個(gè)屬性。

print(add.__annotations__)

以上這篇讓你的Python代碼實(shí)現(xiàn)類型提示功能就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過底層源碼理解YOLOv5的Backbone

    通過底層源碼理解YOLOv5的Backbone

    yolov5的特征提取網(wǎng)絡(luò)兼顧速度與精度,將PAN與PFN深度融合,對(duì)不同尺度魯棒性強(qiáng),可以即插即用,后接不同的檢測(cè)器,下面這篇文章主要給大家介紹了關(guān)于如何通過底層源碼理解YOLOv5的Backbone的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • django靜態(tài)文件加載的方法

    django靜態(tài)文件加載的方法

    本篇文章主要介紹了django靜態(tài)文件加載的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • 解決python Jupyter不能導(dǎo)入外部包問題

    解決python Jupyter不能導(dǎo)入外部包問題

    這篇文章主要介紹了解決python Jupyter不能導(dǎo)入外部包問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python爬蟲之對(duì)CSDN榜單進(jìn)行分析

    Python爬蟲之對(duì)CSDN榜單進(jìn)行分析

    這篇文章主要介紹了Python爬蟲之對(duì)CSDN榜單進(jìn)行分析,文章有詳細(xì)代碼,簡(jiǎn)單易懂,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2023-01-01
  • Python中的面向?qū)ο缶幊淘斀?上)

    Python中的面向?qū)ο缶幊淘斀?上)

    這篇文章主要介紹了Python中的面向?qū)ο缶幊淘斀?上),本文講解了創(chuàng)建類、實(shí)例化類、類屬性、特殊方法內(nèi)建屬性、靜態(tài)變量屬性、實(shí)例變量屬性、方法屬性、靜態(tài)方法、類方法等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • python2.x實(shí)現(xiàn)人民幣轉(zhuǎn)大寫人民幣

    python2.x實(shí)現(xiàn)人民幣轉(zhuǎn)大寫人民幣

    這篇文章主要為大家詳細(xì)介紹了python2.x實(shí)現(xiàn)人民幣轉(zhuǎn)大寫人民幣,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python?Flask?實(shí)現(xiàn)?HTML?文件壓縮案例代碼(9?級(jí)壓縮)

    Python?Flask?實(shí)現(xiàn)?HTML?文件壓縮案例代碼(9?級(jí)壓縮)

    這篇文章主要介紹了Python?Flask?實(shí)現(xiàn)?HTML?文件壓縮案例代碼(9?級(jí)壓縮),本案例是基于?Python?Flask?進(jìn)行搭建,所以需要提前搭建一個(gè)?Flask?項(xiàng)目環(huán)境,有?app.py?文件和?templates/index.html?文件即可,需要的朋友可以參考下
    2023-01-01
  • 對(duì)Django的restful用法詳解(自帶的增刪改查)

    對(duì)Django的restful用法詳解(自帶的增刪改查)

    今天小編就為大家分享一篇對(duì)Django的restful用法詳解(自帶的增刪改查),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python實(shí)現(xiàn)簡(jiǎn)單的猜單詞小游戲

    Python實(shí)現(xiàn)簡(jiǎn)單的猜單詞小游戲

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單的猜單詞小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 詳解python string類型 bytes類型 bytearray類型

    詳解python string類型 bytes類型 bytearray類型

    這篇文章主要介紹了python string類型 bytes類型 bytearray類型,需要的朋友可以參考下
    2017-12-12

最新評(píng)論