python水晶球(函數(shù))詳解
傳遞實(shí)參
函數(shù)定義中可能包含很多的形參。因此函數(shù)調(diào)用的過程中也能包含多個(gè)實(shí)參。向函數(shù)傳遞實(shí)參的方式有很多。如果實(shí)參的順序與形參的順序相同的情況下可以使用位置實(shí)參。也可以使用關(guān)鍵字實(shí)參,其中每個(gè)實(shí)參都由變量名和值組成。
位置實(shí)參
在調(diào)用函數(shù)時(shí),python必須將函數(shù)調(diào)用中的每個(gè)實(shí)參都關(guān)聯(lián)到函數(shù)定義中的一個(gè)形參,也就是根據(jù)形參名稱進(jìn)行實(shí)參的傳遞,最簡(jiǎn)單的關(guān)聯(lián)方式是實(shí)參的順序,這種關(guān)聯(lián)方式便是位置實(shí)參。
def cale(a,b): c=a+b return c result=cale(6,8) print(result)
在上方代碼塊中我們首先使用def語(yǔ)句創(chuàng)建一個(gè)函數(shù),函數(shù)名為cale,函數(shù)名后的括號(hào)運(yùn)算符中定義a,b占用了兩個(gè)實(shí)際參數(shù)的位置。那么a和b占用實(shí)際值的位置所以他叫做形參。a,b叫做形式參數(shù)簡(jiǎn)稱形參。形參的位置一般在函數(shù)的定義處,所以我們?cè)赿ef函數(shù)后的括號(hào)后的括號(hào)里添加兩個(gè)形參為a,b。在下方result=cale(6,8)中,6和8被稱為實(shí)際參數(shù)的值,簡(jiǎn)稱實(shí)參,實(shí)參的位置出現(xiàn)在函數(shù)的調(diào)用處。
14
如上面所示我們可以看出6傳給了a,8傳給了b。這是按照位置傳遞的。因?yàn)?在實(shí)參的第一個(gè)位置。而a在形參的第一個(gè)位置所以6就傳遞給了a也就是a=6.同理因?yàn)?在實(shí)參的第二個(gè)位置而b在定義處的第二個(gè)位置所以b=8。因此c=a+b,為14.
關(guān)鍵字參數(shù)
關(guān)鍵字實(shí)參時(shí)傳遞給函數(shù)的名稱鍵--值對(duì)。直接在實(shí)參中將名稱和值關(guān)聯(lián)起來。因此向函數(shù)傳遞實(shí)參時(shí)不會(huì)混淆。關(guān)鍵字實(shí)參可以無需考慮,函數(shù)調(diào)用中實(shí)參的順序,可以清楚指出函數(shù)調(diào)用中各個(gè)值得用途。
def cale(a,b): c=a+b return c result=cale(b=6,a=8) print(result
14
因?yàn)樵趯?shí)參中b的賦值為6,a的賦值為8在定義處的b因?yàn)閎的賦值為6所以在定義處b的值為6,a的賦值為9,所以在定義處a的值為8.
函數(shù)定義的默認(rèn)參數(shù)值
函數(shù)定義時(shí)給形參設(shè)置默認(rèn)值,只有與默認(rèn)值不符的時(shí)候才需要傳遞實(shí)參。
函數(shù)參數(shù)的定義
·個(gè)數(shù)可變的位置參數(shù)
(1)定義函數(shù)時(shí),可能無法事先確定傳遞的位置實(shí)參的個(gè)數(shù)時(shí),使用可變的位置參數(shù)。
(2)使用*定義個(gè)數(shù)可變的位置參數(shù)。
(3)結(jié)果為一個(gè)元組。
def new(*args): print(args) new(10) new(11,22,33)
(10,) (11, 22, 33)
個(gè)數(shù)可變的關(guān)鍵字形參
(1)·定義函數(shù)時(shí),沒辦法事先確定傳遞的關(guān)鍵字實(shí)參的個(gè)數(shù)時(shí),使可變的關(guān)鍵字形參。
(2) ·使用**定義個(gè)數(shù)可變的關(guān)鍵字形參。
(3) ·結(jié)果為一個(gè)字典。
def new(**args): print(args) new(a=10) new(a=11,b=22,c=33)
{'a': 10} {'a': 11, 'b': 22, 'c': 33}
總結(jié)
到此這篇關(guān)于python水晶球(函數(shù))詳解的文章就介紹到這了,更多相關(guān)python函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
弄懂這56個(gè)Python使用技巧(輕松掌握Python高效開發(fā))
這篇文章主要介紹了弄懂這56個(gè)Python使用技巧(輕松掌握Python高效開發(fā)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-09-09Python matplotlib實(shí)現(xiàn)圖表主題變換示例詳解
在畫圖的時(shí)候如果出現(xiàn)與圖表的顏色沖突或者看不清坐標(biāo)軸的情況,這時(shí)候可以通過更換坐標(biāo)軸風(fēng)格來解決,本文將為大家詳細(xì)介紹如何利用matplotlib實(shí)現(xiàn)圖表的主題樣式變換,需要的可以參考一下2022-03-03詳解python中@classmethod和@staticmethod方法
在python類當(dāng)中,經(jīng)常會(huì)遇到@classmethod和@staticmethod這兩個(gè)裝飾器,那么到底它們的區(qū)別和作用是啥子呢?本文結(jié)合場(chǎng)景分析給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧2022-10-10Python批量上傳文件信息到服務(wù)器的實(shí)現(xiàn)示例
在進(jìn)行軟件測(cè)試的過程中,經(jīng)常會(huì)需要準(zhǔn)備一批數(shù)據(jù),本文主要介紹了Python批量上傳文件信息到服務(wù)器的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面的實(shí)現(xiàn)
本文主要介紹了使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Python OpenCV對(duì)本地視頻文件進(jìn)行分幀保存的實(shí)例
今天小編就為大家分享一篇Python OpenCV對(duì)本地視頻文件進(jìn)行分幀保存的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割的操作代碼
這篇文章主要介紹了Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08python socket模塊創(chuàng)建和使用套接字示例詳解
這篇文章主要為大家介紹了python socket模塊來創(chuàng)建和使用套接字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06