Python中怎么實(shí)現(xiàn)參數(shù)注解

本篇文章為大家展示了Python中怎么實(shí)現(xiàn)參數(shù)注解,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)路南,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

1.函數(shù)定義的弊端
  • python是動(dòng)態(tài)語(yǔ)言,變量隨時(shí)可以被賦值,且能賦值為不同的類型,動(dòng)態(tài)語(yǔ)言很靈活,但是這種特性也是弊端;

  • 難發(fā)現(xiàn):由于不做任何類型檢查,直到運(yùn)行期問(wèn)題才顯現(xiàn)出來(lái),或者線上運(yùn)行時(shí)才能暴露出問(wèn) 題 ;

  • 難使用:函數(shù)的使用者看到函數(shù)的時(shí)候,并不知道你的函數(shù)的設(shè)計(jì),并不知道應(yīng)該傳入什么類 型的數(shù)據(jù);

  • 解決辦法:可以通過(guò)增加文檔Documentation String(幫助文檔)和使用函數(shù)參數(shù)注解兩種辦法來(lái)解決這個(gè)弊端;

2.什么是參數(shù)注解
def show(x: int, y: int) -> int:
    '''
    :param x:
    :param y:
    :return:
    '''
    return x * y
print(show(10,20)) # 200
  • 函數(shù)中間使用 ‘’’ ‘’’包裹起來(lái)的注釋說(shuō)明就是參數(shù)注解;

3.使用參數(shù)注解的好處
  • 參數(shù)注解可以避免動(dòng)態(tài)語(yǔ)音的弊端;

  • 可以對(duì)函數(shù)的參數(shù)進(jìn)行類型注解和對(duì)函數(shù)的返回值進(jìn)行類型注解;

  • 參數(shù)注解只對(duì)函數(shù)參數(shù)做一個(gè)輔助的說(shuō)明,并不對(duì)函數(shù)參數(shù)進(jìn)行類型檢查;

4.Functools模塊的使用
# 示例1
import inspect
def add(x:int, y:int, *args,**kwargs) -> int:
    return x + y
sig = inspect.signature(add)
print(sig) # (x: int, y: int, *args, **kwargs) -> int
print(sig.parameters) # OrderedDict([('x', <Parameter "x: int">), ('y', <Parameter "y: int">), ('args', <Parameter "*args">), ('kwargs', <Parameter "**kwargs">)])
# 示例2: partial偏函數(shù)
from functools import partial
def add(x, y):
    return x + y
partial_add = partial(add, x=1)
result = partial_add(y=2)
print(result)   #輸出: 3
# lru_cache
from functools import lru_cache
import time
@lru_cache()
def add(x, y):
    time.sleep(10)
    return x + y
print(add(1,2))
print(add(2,3))
print(add(2,3))
print(add(2,3))
  • 指那些作用于函數(shù)或者返回其它函數(shù)的函數(shù),通常只要是可以被當(dāng)做函數(shù)調(diào)用的對(duì)象就是這個(gè)模塊的目標(biāo);

  • lru_cache裝飾器的作用就是把計(jì)算結(jié)果保存在內(nèi)存中,下一次有同一個(gè)參數(shù)傳入的話就不會(huì)再次進(jìn)行計(jì)算;

上述內(nèi)容就是Python中怎么實(shí)現(xiàn)參數(shù)注解,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標(biāo)題:Python中怎么實(shí)現(xiàn)參數(shù)注解
網(wǎng)站URL:http://muchs.cn/article32/ghjppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管域名注冊(cè)、響應(yīng)式網(wǎng)站全網(wǎng)營(yíng)銷推廣、網(wǎng)站內(nèi)鏈品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)