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