淺析python參數(shù)的知識(shí)點(diǎn)
python之參數(shù),定義時(shí)小括號(hào)中的參數(shù),用來(lái)接收參數(shù)用的,稱為 “形參”
調(diào)用時(shí)小括號(hào)中的參數(shù),用來(lái)傳遞給函數(shù)用的,稱為 “實(shí)參”。
1、思考一個(gè)問(wèn)題,如下:
現(xiàn)在需要定義一個(gè)函數(shù),這個(gè)函數(shù)能夠完成2個(gè)數(shù)的加法運(yùn)算,并且把結(jié)果打印出來(lái),該怎樣設(shè)計(jì)?下面的代碼可以嗎?有什么缺陷嗎?
In [8]: def num(): ...: a=12 ...: b=23 ...: c=a+b ...: print(c)
為了讓一個(gè)函數(shù)更通用,即想讓它計(jì)算哪兩個(gè)數(shù)的和,就讓它計(jì)算哪兩個(gè)數(shù)的和,在定義函數(shù)的時(shí)候可以讓函數(shù)接收數(shù)據(jù),就解決了這個(gè)問(wèn)題,這就是 函數(shù)的參數(shù)
2、定義帶有參數(shù)的函數(shù)
In [10]: def num1(a): ....: print(a) ....: In [11]: def num2(a,b): ....: c=a+b ....: print(c) ....: In [12]: def num3(a,b,c): ....: d=a+b+c ....: print(d)
3、調(diào)用帶有參數(shù)的函數(shù)
In [13]: def num2(a,b): ....: c=a+b ....: print(c) ....: In [14]: In [14]: num2(1,2) 3
4、缺省參數(shù)
調(diào)用函數(shù)時(shí),缺省參數(shù)的值如果沒(méi)有傳入,則被認(rèn)為是默認(rèn)值。
In [18]: def info(name,age=20): ....: print("name:",name) ....: print("age:",age) ....: In [19]: info(name='zcf') name: zcf age: 20 In [20]: info(age=21,name='zcf') name: zcf age: 21
5、缺省參數(shù)之注意:
帶有默認(rèn)值的參數(shù)一定要位于參數(shù)列表的最后面。
In [21]: def info(name,age=20,sex): ....: print(name) ....: File "<ipython-input-21-099520322ee2>", line 1 def info(name,age=20,sex): ^ SyntaxError: non-default argument follows default argument
6、不定長(zhǎng)參數(shù)
有時(shí)可能需要一個(gè)函數(shù)能處理比當(dāng)初聲明時(shí)更多的參數(shù)。這些參數(shù)叫做不定長(zhǎng)參數(shù),聲明時(shí)不會(huì)命名。
語(yǔ)法:
def functionname([formal_args,] *args,**kwargs): function_suite return [expression]
加入星號(hào)(*)的變量args會(huì)存放所有未命名的變量參數(shù),args為元組;
而加**的變量kwargs 會(huì)存放命名參數(shù),即形如key=value的參數(shù),kwargs為字典
7、引用傳參可變類型與不可變類型的變量分別作為函數(shù)參數(shù)時(shí),會(huì)有什么不同嗎?Python有沒(méi)有類似C語(yǔ)言中的指針傳參呢?Python中函數(shù)參數(shù)是引用傳遞(注意不是值傳遞)。對(duì)于不可變類型,因變量不能修改,所以運(yùn)算不會(huì)影響到變量自身;而對(duì)于可變類型來(lái)說(shuō),函數(shù)體中的運(yùn)算有可能會(huì)更改傳入的參數(shù)變量。引用傳參可變類型與不可變類型的變量分別作為函數(shù)參數(shù)時(shí),會(huì)有什么不同嗎?Python有沒(méi)有類似C語(yǔ)言中的指針傳參呢?
以上內(nèi)容就是關(guān)于python參數(shù)相關(guān)的知識(shí)點(diǎn)內(nèi)容,感謝大家對(duì)腳本之家的支持。
相關(guān)文章
python自動(dòng)發(fā)郵件總結(jié)及實(shí)例說(shuō)明【推薦】
python發(fā)郵件需要掌握兩個(gè)模塊的用法,smtplib和email,這倆模塊是python自帶的,只需import即可使用。這篇文章主要介紹了python自動(dòng)發(fā)郵件總結(jié)及實(shí)例說(shuō)明 ,需要的朋友可以參考下2019-05-05python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法
這篇文章主要介紹了python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法,比較具有實(shí)用價(jià)值,需要的朋友可以參考下2014-09-09python 實(shí)現(xiàn)快速生成連續(xù)、隨機(jī)字母列表
今天小編就為大家分享一篇python 實(shí)現(xiàn)快速生成連續(xù)、隨機(jī)字母列表,具有很好的價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式
這篇文章主要介紹了Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07pytorch中節(jié)約顯卡內(nèi)存的方法和技巧
顯存不足是很多人感到頭疼的問(wèn)題,畢竟能擁有大量顯存的實(shí)驗(yàn)室還是少數(shù),而現(xiàn)在的模型已經(jīng)越跑越大,模型參數(shù)量和數(shù)據(jù)集也越來(lái)越大,所以這篇文章給大家總結(jié)了一些pytorch中節(jié)約顯卡內(nèi)存的方法和技巧,需要的朋友可以參考下2023-11-11操作Windows注冊(cè)表的簡(jiǎn)單的Python程序制作教程
這篇文章主要介紹了操作Windows注冊(cè)表的簡(jiǎn)單的Python程序制作教程,包括遠(yuǎn)程對(duì)注冊(cè)表進(jìn)行修改的實(shí)現(xiàn),需要的朋友可以參考下2015-04-04python爬蟲請(qǐng)求庫(kù)httpx和parsel解析庫(kù)的使用測(cè)評(píng)
這篇文章主要介紹了python爬蟲請(qǐng)求庫(kù)httpx和parsel解析庫(kù)的使用測(cè)評(píng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-05-05