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ù)名后的括號運算符中定義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(result14
因為在實參中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)文章
使用pyinstaller打包PySide2程序中遇到的問題
說到打包,我們就需要用到python程序的打包工具pyinstaller了,這個包安裝簡單,使用同樣簡單,下面這篇文章主要給大家介紹了關(guān)于使用pyinstaller打包PySide2程序中遇到的問題,需要的朋友可以參考下2023-05-05
python使用MySQLdb訪問mysql數(shù)據(jù)庫的方法
這篇文章主要介紹了python使用MySQLdb訪問mysql數(shù)據(jù)庫的方法,實例分析了Python使用MySQLdb模塊操作mysql數(shù)據(jù)庫的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08

