您好,登錄后才能下訂單哦!
這篇文章主要介紹“python參數(shù)的知識點整理”,在日常操作中,相信很多人在python參數(shù)的知識點整理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python參數(shù)的知識點整理”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
python之參數(shù),定義時小括號中的參數(shù),用來接收參數(shù)用的,稱為 “形參”
調(diào)用時小括號中的參數(shù),用來傳遞給函數(shù)用的,稱為 “實參”。
1、思考一個問題,如下:
現(xiàn)在需要定義一個函數(shù),這個函數(shù)能夠完成2個數(shù)的加法運算,并且把結(jié)果打印出來,該怎樣設(shè)計?下面的代碼可以嗎?有什么缺陷嗎?
In [8]: def num(): ...: a=12 ...: b=23 ...: c=a+b ...: print(c)
為了讓一個函數(shù)更通用,即想讓它計算哪兩個數(shù)的和,就讓它計算哪兩個數(shù)的和,在定義函數(shù)的時候可以讓函數(shù)接收數(shù)據(jù),就解決了這個問題,這就是 函數(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ù)的值如果沒有傳入,則被認為是默認值。
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ù)之注意:
帶有默認值的參數(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、不定長參數(shù)
有時可能需要一個函數(shù)能處理比當初聲明時更多的參數(shù)。這些參數(shù)叫做不定長參數(shù),聲明時不會命名。
語法:
def functionname([formal_args,] *args,**kwargs): function_suite return [expression]
加入星號(*)的變量args會存放所有未命名的變量參數(shù),args為元組;
而加**的變量kwargs 會存放命名參數(shù),即形如key=value的參數(shù),kwargs為字典
7、
引用傳參可變類型與不可變類型的變量分別作為函數(shù)參數(shù)時,會有什么不同嗎?Python有沒有類似C語言中的指針傳參呢?Python中函數(shù)參數(shù)是引用傳遞(注意不是值傳遞)。對于不可變類型,因變量不能修改,所以運算不會影響到變量自身;而對于可變類型來說,函數(shù)體中的運算有可能會更改傳入的參數(shù)變量。
到此,關(guān)于“python參數(shù)的知識點整理”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?br/>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。