python 函數(shù)的詳解與應(yīng)用范例
如何定義一個函數(shù)
函數(shù)也稱方法,下面寫一個簡單的函數(shù):
def function(): print("我是函數(shù)。")
這是一個很簡單的函數(shù),函數(shù)只干了一件事,打印輸出“我是函數(shù)。”這句話。
從這個函數(shù)的外觀看,有個def
,還有個function
加個()
和:
。
def
是定義函數(shù)的關(guān)鍵字不能改動,function
為函數(shù)的名稱,可以隨便寫,后加()
和:
這是規(guī)定。
在函數(shù)里面的輸出語句可以稱之為函數(shù)體所有函數(shù)體需要進行縮進,不然那個會報錯。
如何使用
使用方式很簡單
function()
重復(fù)函數(shù)名再加上括號,就可以使用了
什么是參數(shù)
接下來我寫一個函數(shù):
def function(a,b): print(a,b)
在這個函數(shù)里,括號里面的 a和b就叫參數(shù)(函數(shù)參數(shù))也叫形式參數(shù)。參數(shù)是干什么的呢?參數(shù)的作用是可以向這個目標函數(shù)傳入一些東西。
比如在這個函數(shù)里是可以打印外面?zhèn)魅氲膮?shù)內(nèi)容:
function("aaa","bbb")
我向這個函數(shù)傳入了兩個參數(shù),參數(shù)的位置是不能改變的,"aaa"可以成為實際參數(shù),對應(yīng)的就是a這個形式參數(shù),"bbb"對應(yīng)就是b,這個傳入的過程為參數(shù)傳遞
結(jié)果輸出的順序就是:
aaa bbb
還可以這樣進行參數(shù)傳遞:
function(a="aaa","bbb") function("aaa",b="bbb") function(a="aaa",b="bbb") function(b="bbb",a="aaa")
當我們所定義的函數(shù)里面存在參數(shù),當使用的它的時候,一定需要傳入?yún)?shù)不然會報錯,類如:
def function(a): print(a) function()
運行結(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'
不定長參數(shù)
如果不知到傳遞的參數(shù)到底有多少,該怎么辦呢?
可以用*
和**
來實現(xiàn)。
加了 *
的參數(shù)會以元組(tuple)的形式傳入,存放所有未命名的變量參數(shù),類如:
def function(*args): print(args) function(12,35,65)
運行結(jié)果:
(12, 35, 65)
發(fā)現(xiàn)輸出結(jié)果是一個元組,包含了所有傳入的參數(shù)
加了兩個星號 **
的參數(shù)會以字典的形式傳入;
def function(**kwargs): print(kwargs) function(a=12,b=35,c=65)
這里傳入的參數(shù)需要注意,是鍵值對。
當 一個星號,和兩個星號同時出現(xiàn),一個星號必須在兩個星號前面,列如:
def function(*args, **kwargs): print(args) print(kwargs)
return是干什么
如果函數(shù)里面出現(xiàn)return,表示這個函數(shù)運行到這里結(jié)束了,后面不管有多少多不會再執(zhí)行。并且return會返回它后面表達式的值,相當于把后面的值賦給函數(shù),例如:
def function(): print("aa") return "aaa" print("bb") print(function())
運行結(jié)果:
aa
aaa
發(fā)現(xiàn)return
后面的語句沒有執(zhí)行函數(shù)就退出了,并且函數(shù)自己也有值了。
到此這篇關(guān)于python 函數(shù)的詳解與應(yīng)用范例的文章就介紹到這了,更多相關(guān)python 函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)簡單生成驗證碼功能【基于random模塊】
這篇文章主要介紹了Python實現(xiàn)簡單生成驗證碼功能,結(jié)合實例形式分析了Python基于random模塊生成隨機字符串的相關(guān)操作技巧,需要的朋友可以參考下2018-02-02python基于concurrent模塊實現(xiàn)多線程
這篇文章主要介紹了python基于concurrent模塊實現(xiàn)多線程,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04