日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python语言的变量随时_Python参数注解

發布時間:2024/10/8 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python语言的变量随时_Python参数注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#### 1.函數定義的弊端

- python是動態語言,變量隨時可以被賦值,且能賦值為不同的類型,動態語言很靈活,但是這種特性也是弊端;

- **難發現**:由于不做任何類型檢查,直到運行期問題才顯現出來,或者線上運行時才能暴露出問 題 ;

- **難使用**:函數的使用者看到函數的時候,并不知道你的函數的設計,并不知道應該傳入什么類 型的數據;

- **解決辦法**:可以通過增加文檔Documentation String(幫助文檔)和使用函數參數注解兩種辦法來解決這個弊端;

#### 2.什么是參數注解

```

def show(x: int, y: int) -> int:

'''

:param x:

:param y:

:return:

'''

return x * y

print(show(10,20)) # 200

```

* 函數中間使用 ''' '''包裹起來的注釋說明就是參數注解;

#### 3.使用參數注解的好處

* 參數注解可以避免動態語音的弊端;

* 可以對函數的參數進行類型注解和對函數的返回值進行類型注解;

* 參數注解只對函數參數做一個輔助的說明,并不對函數參數進行類型檢查;

#### 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', ), ('y', ), ('args', ), ('kwargs', )])

# 示例2: partial偏函數

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))

```

* 指那些作用于函數或者返回其它函數的函數,通常只要是可以被當做函數調用的對象就是這個模塊的目標;

* lru_cache裝飾器的作用就是把計算結果保存在內存中,下一次有同一個參數傳入的話就不會再次進行計算;

參考:https://www.9xkd.com/user/plan-view.html?id=4267794533

來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/69908432/viewspace-2639606/,如需轉載,請注明出處,否則將追究法律責任。

總結

以上是生活随笔為你收集整理的python语言的变量随时_Python参数注解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。