国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【python小技巧2】星號(*)和斜杠(/)的妙用

2023-01-02 23:35 作者:小倪同學(xué)0v0  | 我要投稿

先來自測一下:

答案:

如果你感到猶豫,請接著往下看吧。

一、星號的用途

  1. a * b 代表乘法,如 3 * 2 得到 6

  2. a ** b 代表乘方,如 3 ** 2 得到 9

    x ** y <==>?pow(x, y)? ? ? ? x ** y % z <==>?pow(x, y, z)

    細(xì)節(jié):先算乘方后算乘法,且同為乘法從左向右,同為乘方從右向左。所以開頭的 c 的值是 512 而不是 128,更不是 65536

  3. 函數(shù)定義時:

    1. *args 這種寫法,稱為可變長位置參數(shù)。

      額外的位置參數(shù)將“吸入”這個args,args是一個元組。

    2. **kwargs 這種寫法,稱為可變長關(guān)鍵字參數(shù)。

      額外的關(guān)鍵字參數(shù)將以鍵值對的形式“吸入”這個kwargs中,kwargs是一個字典

      注意:可變長關(guān)鍵字參數(shù) 和 可變長位置參數(shù)都至多存在一個

      以上兩種參數(shù),統(tǒng)稱可變長參數(shù)

      *args 必須在 **kwargs 前面

    3. def?f(a, *, b):?pass這種寫法

      將后面的所有參數(shù)設(shè)置為 keyword only argument,即只能用關(guān)鍵字傳參。

      這里的 a 兩種傳參都可以,而 b 只能使用關(guān)鍵字傳參。為什么?因?yàn)檫@個 * 雖然沒有參數(shù)名字,但它將所有額外的位置參數(shù)都“吸入”這個 * 里,所以 b 只能用關(guān)鍵字傳參

  4. 序列解包 / 拆包

    1. *args 將一個序列展開

    2. **kwargs 將一個字典以鍵值對形式展開(其實(shí)不止字典,任何 mapping 都可以,常見的還有?collections.defaultdict,?collections.OrderedDict?以及 collections.Counter 等)

      e.g.

????????????不僅可以在函數(shù)調(diào)用時解包傳參,也可用在賦值語句等。e.g.

????????????也可寫在左值,用于拆包哦

????????????注意: 這樣寫出來的 b 是一個列表,不是元組

????5. 正則表達(dá)式

????????匹配前面的子表達(dá)式 0 次或多次

二、斜杠的用途

  1. a / b 代表 truediv,emmm...將其譯為真除吧(網(wǎng)上沒找到更好的翻譯),返回浮點(diǎn)數(shù),如 11 / 2?得到 5.5

  2. a // b 代表floordiv,即整除,返回整數(shù),如 11 // 2?得到 5

  3. 函數(shù)定義時,斜杠前面的參數(shù)成為 positional only argument,只能使用位置傳參,不能使用關(guān)鍵字。e.g.

總結(jié):

  1. * 用于乘法、乘方等;也用于序列解包拆包;函數(shù)定義時作可變長參數(shù)標(biāo)志,將其后面的參數(shù)設(shè)置為僅關(guān)鍵字參數(shù)

  2. / 用于 2 種除法;函數(shù)定義時將其前面的參數(shù)設(shè)置為僅位置參數(shù)

END

參考資料:

https://docs.python.org/3.8/tutorial/controlflow.html

以上內(nèi)容如有錯誤,歡迎指出!


【python小技巧2】星號(*)和斜杠(/)的妙用的評論 (共 條)

分享到微博請遵守國家法律
江油市| 文山县| 都兰县| 资阳市| 长治县| 保山市| 济阳县| 沂水县| 西盟| 台东县| 合水县| 嵊州市| 上林县| 利津县| 望江县| 惠安县| 平定县| 襄樊市| 中超| 新丰县| 沛县| 安溪县| 洞头县| 长治市| 融水| 义马市| 左贡县| 苗栗市| 虞城县| 南漳县| 高平市| 蓬莱市| 如东县| 色达县| 上思县| 芮城县| 嵊泗县| 田阳县| 吉木萨尔县| 读书| 唐海县|