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

歡迎訪問 生活随笔!

生活随笔

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

python

python3函数可变输入参量

發布時間:2025/3/20 python 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3函数可变输入参量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常我們在python中定義一個函數的時候,需要給出明確的函數輸入參量,比如對于一個數學函數z=f(x,y)就表示,z是關于x和y的一個函數。

但是如果對于未知參量的函數,比如函數形式可以是z=f(x,y),但也可以是z=f(x,y,m,n,i,j,k),在不確定入參的時候,就可以采用python中的*args和**kwargs參數。

*args參數的使用方法

首先用一個例子來說明一下*args的基本用法,這個參量可以替代函數括號中的固定變量,從數據結構上說是一個可變長度的tuple:

def fargs(*args):s = 0for variable in args:s += float(variable)return sif __name__ == '__main__':import sysargs_string = ''for number in sys.argv[1:]: # 從命令行獲取任意長度的參數args_string += numberargs_string += ','s = eval('fargs({})'.format(args_string)) # 直接用字符串執行函數print ('The sum of {} is: {}'.format(args_string, s))

在這個案例中,我們不僅介紹了*args的使用方法,也利用了命令行參數獲取和eval函數這兩個python中常見的使用技巧。其中關于獲取命令行參數的使用技巧,可以參考這一篇博客。上述代碼的執行效果如下所示:

[dechin@dechin-manjaro args]$ python3 test_args.py 1 2 3 3.14 The sum of 1,2,3,3.14, is: 9.14 [dechin@dechin-manjaro args]$ python3 test_args.py 1 2 3 3.14 0.86 The sum of 1,2,3,3.14,0.86, is: 10.0

這里給了兩個不同長度的輸入,通過函數fargs完成了求和的工作,并且輸入的長度是可變的。

**kwargs的用法

kwargs的用法是類似于上面介紹的*args的,區別在于kwargs本質上是傳入了一個“字典”,或者稱之為一個鍵值對。需要注意的是,這里每一個鍵值對的數據格式都是tuple類型的,而不是python中的字典類型,所以上面說到“字典”時加了引號。參考示例如下:

''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def fkwargs(**kwargs):s = 0print ('Key values input: ',kwargs)for key, variable in kwargs.items():s += float(variable)return sif __name__ == '__main__':import sysargs_string = ''for number in sys.argv[1:]:args_string += numberargs_string += ','s = eval('fkwargs({})'.format(args_string))print ('The sum of {} is: {}'.format(args_string, s))

這里的場景我們設置為一個買菜購物計算總價格的函數,輸入的參數是每一個購買的物品及其價格,最后的輸出是購買總價格,測試結果如下所示:

[dechin@dechin-manjaro args]$ python3 test_kwargs.py egg=20 beaf=60 milk=10 Key values input: {'egg': 20, 'beaf': 60, 'milk': 10} The sum of egg=20,beaf=60,milk=10, is: 90.0 [dechin@dechin-manjaro args]$ python3 test_kwargs.py egg=20 water=1 Key values input: {'egg': 20, 'water': 1} The sum of egg=20,water=1, is: 21.0

總結概要

為了使得輸入參數的可擴展性更好,python中自帶了args和kwargs兩種方法,可以用于表示一個tuple類型的可變長度入參。其中args是一系列的一元變量的輸入,kwargs是一系列鍵值對的輸入,可以認為是一個二元變量的輸入。雖然這兩種方案也都可以用自行實現的tuple來替代,但是直接使用這兩種定義會節省很多自定義可變入參的繁瑣。

結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!

Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者

【Python教程】全網最容易聽懂的1000集python系統學習教程(答疑在最后四期,滿滿干貨)

Python爬蟲案例教程推薦:更多Python視頻教程-關注B站:Python學習者

2021年Python最新最全100個爬蟲完整案例教程,數據分析,數據可視化,記得收藏哦

總結

以上是生活随笔為你收集整理的python3函数可变输入参量的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品福利在线 | av在线播放不卡 | 久久久久久天堂 | 大桥未久中文字幕 | 欧美另类精品 | www.av.cn| 日本福利一区二区三区 | 亚洲激情短视频 | 国内自拍视频在线观看 | 欧美一区日韩一区 | 久久艹久久 | 免费看黄色大片 | 欧美日韩1区2区 | 久热在线 | 久久盗摄| 久久久久久久美女 | 日本在线观看www | 日本中文字幕在线视频 | 国产又大又粗又长 | 777米奇影视第四色 五月丁香久久婷婷 | 黄色片久久| 国产成人精品午夜福利Av免费 | 天堂8在线天堂资源bt | 亚洲videos| 久久黄色一级片 | 一级二级三级黄色片 | 色就操| www.avcao| 初高中福利视频网站 | 实拍澡堂美女洗澡av | 免费在线观看一区二区三区 | 98久久久 | 精品黑人一区二区三区在线观看 | 日本激情视频一区二区三区 | 乱人伦xxxx国语对白 | 亚州av综合色区无码一区 | 麻豆网| 久久黄色免费视频 | 欧美做受高潮中文字幕 | 一二三区免费 | 日本一区二区在线 | 色婷婷aⅴ一区二区三区 | 黄色天堂av | 国产一区精品久久 | 国产aa毛片| 成人深夜福利在线观看 | 骚鸭av | 男女搞鸡网站 | 男ji大巴进入女人的视频 | 精品欧美乱码久久久久久 | 中文字幕在线播 | 69色 | 丝袜性爱视频 | 国产无遮挡免费 | wwwxx在线| 欧美一区二区大片 | 好吊色综合 | 一区二区精品免费 | 久久久精品福利 | 99精品在线| 日韩综合在线观看 | 国产一区精品在线观看 | 丰满人妻一区二区 | 亚洲第一成年网 | 精品久久久久久久久久久久久久久久久 | 欧美在线小视频 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产精品久久久久久久久免费相片 | 好吊日在线 | 国产99页 | 视频久久 | 麻豆视频在线观看免费网站黄 | 1000部啪啪未满十八勿入超污 | 一个色综合网站 | 青青草在线视频免费观看 | 一区二区xxx | 青春草视频在线免费观看 | 国产91丝袜在线播放0 | 18被视频免费观看视频 | 亚日韩一区 | 中文字幕日韩精品无码内射 | 丰满少妇xbxb毛片日本 | av中文在线资源 | 日日夜夜艹 | 美美女高清毛片视频免费观看 | 欧美一级视频免费 | 国产理论视频 | 精品一卡二卡 | 色宗合| www.av72 | 少妇性色av | 冲田杏梨av | 日韩高清av在线 | 动漫av一区 | 精品人妻视频在线 | 亚洲干干干 | 青娱乐国产盛宴 | 一级色视频 | 国产又粗又猛又爽又黄的视频在线观看动漫 |