python 函數(shù)的詳解與應(yīng)用范例
如何定義一個(gè)函數(shù)
函數(shù)也稱方法,下面寫一個(gè)簡(jiǎn)單的函數(shù):
def function(): print("我是函數(shù)。")
這是一個(gè)很簡(jiǎn)單的函數(shù),函數(shù)只干了一件事,打印輸出“我是函數(shù)。”這句話。
從這個(gè)函數(shù)的外觀看,有個(gè)def
,還有個(gè)function
加個(gè)()
和:
。
def
是定義函數(shù)的關(guān)鍵字不能改動(dòng),function
為函數(shù)的名稱,可以隨便寫,后加()
和:
這是規(guī)定。
在函數(shù)里面的輸出語(yǔ)句可以稱之為函數(shù)體所有函數(shù)體需要進(jìn)行縮進(jìn),不然那個(gè)會(huì)報(bào)錯(cuò)。
如何使用
使用方式很簡(jiǎn)單
function()
重復(fù)函數(shù)名再加上括號(hào),就可以使用了
什么是參數(shù)
接下來(lái)我寫一個(gè)函數(shù):
def function(a,b): print(a,b)
在這個(gè)函數(shù)里,括號(hào)里面的 a和b就叫參數(shù)(函數(shù)參數(shù))也叫形式參數(shù)。參數(shù)是干什么的呢?參數(shù)的作用是可以向這個(gè)目標(biāo)函數(shù)傳入一些東西。
比如在這個(gè)函數(shù)里是可以打印外面?zhèn)魅氲膮?shù)內(nèi)容:
function("aaa","bbb")
我向這個(gè)函數(shù)傳入了兩個(gè)參數(shù),參數(shù)的位置是不能改變的,"aaa"可以成為實(shí)際參數(shù),對(duì)應(yīng)的就是a這個(gè)形式參數(shù),"bbb"對(duì)應(yīng)就是b,這個(gè)傳入的過(guò)程為參數(shù)傳遞
結(jié)果輸出的順序就是:
aaa bbb
還可以這樣進(jìn)行參數(shù)傳遞:
function(a="aaa","bbb") function("aaa",b="bbb") function(a="aaa",b="bbb") function(b="bbb",a="aaa")
當(dāng)我們所定義的函數(shù)里面存在參數(shù),當(dāng)使用的它的時(shí)候,一定需要傳入?yún)?shù)不然會(huì)報(bào)錯(cuò),類如:
def function(a): print(a) function()
運(yùn)行結(jié)果:
TypeError Traceback (most recent call last)
<ipython-input-1-1ea14deaa8c8> in <module>
2 print(a)
3
----> 4 function()TypeError: function() missing 1 required positional argument: 'a'
不定長(zhǎng)參數(shù)
如果不知到傳遞的參數(shù)到底有多少,該怎么辦呢?
可以用*
和**
來(lái)實(shí)現(xiàn)。
加了 *
的參數(shù)會(huì)以元組(tuple)的形式傳入,存放所有未命名的變量參數(shù),類如:
def function(*args): print(args) function(12,35,65)
運(yùn)行結(jié)果:
(12, 35, 65)
發(fā)現(xiàn)輸出結(jié)果是一個(gè)元組,包含了所有傳入的參數(shù)
加了兩個(gè)星號(hào) **
的參數(shù)會(huì)以字典的形式傳入;
def function(**kwargs): print(kwargs) function(a=12,b=35,c=65)
這里傳入的參數(shù)需要注意,是鍵值對(duì)。
當(dāng) 一個(gè)星號(hào),和兩個(gè)星號(hào)同時(shí)出現(xiàn),一個(gè)星號(hào)必須在兩個(gè)星號(hào)前面,列如:
def function(*args, **kwargs): print(args) print(kwargs)
return是干什么
如果函數(shù)里面出現(xiàn)return,表示這個(gè)函數(shù)運(yùn)行到這里結(jié)束了,后面不管有多少多不會(huì)再執(zhí)行。并且return會(huì)返回它后面表達(dá)式的值,相當(dāng)于把后面的值賦給函數(shù),例如:
def function(): print("aa") return "aaa" print("bb") print(function())
運(yùn)行結(jié)果:
aa
aaa
發(fā)現(xiàn)return
后面的語(yǔ)句沒有執(zhí)行函數(shù)就退出了,并且函數(shù)自己也有值了。
到此這篇關(guān)于python 函數(shù)的詳解與應(yīng)用范例的文章就介紹到這了,更多相關(guān)python 函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?哈希表的實(shí)現(xiàn)——字典詳解
這篇文章主要介紹了Python?哈希表的實(shí)現(xiàn)——字典,那么今天我們就來(lái)看看哈希表的原理以及如何實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的?Python?哈希表,需要的朋友可以參考下2023-11-11Python實(shí)現(xiàn)簡(jiǎn)單生成驗(yàn)證碼功能【基于random模塊】
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單生成驗(yàn)證碼功能,結(jié)合實(shí)例形式分析了Python基于random模塊生成隨機(jī)字符串的相關(guān)操作技巧,需要的朋友可以參考下2018-02-02python 文本單詞提取和詞頻統(tǒng)計(jì)的實(shí)例
今天小編就為大家分享一篇python 文本單詞提取和詞頻統(tǒng)計(jì)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12python基于concurrent模塊實(shí)現(xiàn)多線程
這篇文章主要介紹了python基于concurrent模塊實(shí)現(xiàn)多線程,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04Python實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼詳解
驗(yàn)證碼作為一種自然人的機(jī)器人的判別工具,被廣泛的用于各種防止程序做自動(dòng)化的場(chǎng)景中。傳統(tǒng)的字符型驗(yàn)證安全性已經(jīng)名存實(shí)亡的情況下,各種新型的驗(yàn)證碼如雨后春筍般涌現(xiàn),今天給大家分享一篇Python實(shí)現(xiàn)滑塊驗(yàn)證碼2022-05-05