最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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】星號(*)和斜杠(/)的妙用的評論 (共 條)

分享到微博請遵守國家法律
武定县| 长泰县| 南京市| 铜川市| 洛南县| 长宁区| 陕西省| 榆中县| 淄博市| 新竹市| 武鸣县| 环江| 滕州市| 昭苏县| 永吉县| 屯留县| 新竹市| 淅川县| 镇远县| 健康| 中江县| 肃宁县| 修武县| 潞城市| 永昌县| 蓬莱市| 榕江县| 抚远县| 金乡县| 巴林右旗| 霸州市| 本溪市| 双牌县| 伊通| 蒙阴县| 临安市| 瑞安市| 磴口县| 武穴市| 上杭县| 靖边县|