函数运行 形参实参变化 内存空间_可能python创始人都不知道的,python函数实参形参讲解...
今天我們來學(xué)習(xí)一下python函數(shù)的用法
函數(shù)是帶名字的代碼塊,我們可以直接調(diào)用函數(shù),無需反復(fù)板鞋完成該函數(shù)的代碼
1.下面我們來看一個(gè)簡單的函數(shù)
首先定義一個(gè)函數(shù),def是定義的意思,后面是函數(shù)名
在函數(shù)中同樣使用縮進(jìn)來區(qū)分語句是否在函數(shù)中
最后一句是調(diào)用我們?nèi)〉煤瘮?shù)名
向函數(shù)中傳遞信息:
我們可以往函數(shù)的括號中傳遞值,并且可以在調(diào)用這個(gè)函數(shù)的時(shí)候給他指定一個(gè)值,例如,我們傳入一個(gè)username的值,輸出hello,username,在調(diào)用函數(shù)的時(shí)候,我們傳入一個(gè)人名jerry
在這個(gè)函數(shù)的定義中,變量username實(shí)際上是一個(gè)形參,也就是函數(shù)完成其工作所需的一項(xiàng)信息。'jerry'是一個(gè)實(shí)參,也就是調(diào)用函數(shù)時(shí)傳遞給函數(shù)的信息。
函數(shù)中可能包括很多個(gè)實(shí)參,也可能包括很多個(gè)形參,那么如何讓他們相對應(yīng)呢?有兩種方式,分別為位置實(shí)參和關(guān)鍵字實(shí)參
位置實(shí)參:要求實(shí)參的順序與形參的順序相同,我們來看一個(gè)例子
在這里我們的username和'jerry'對應(yīng),passwd和'123'對應(yīng),那么如果我們在結(jié)果調(diào)用的函數(shù)將兩個(gè)實(shí)參位置對調(diào)會發(fā)生什么呢
輸出也是反著的了,所以說實(shí)參的順序與形參的順序相同
如果我們需要調(diào)用多次這個(gè)函數(shù),只需再次調(diào)用他即可
關(guān)鍵字實(shí)參:關(guān)鍵字實(shí)參是傳遞給函數(shù)的名稱-值對,這樣我們傳遞實(shí)參時(shí)就不會混淆了
默認(rèn)值:在編寫函數(shù)時(shí),我們可以給函數(shù)指定一個(gè)默認(rèn)值,如果我們在調(diào)用函數(shù)時(shí)給形參提供了實(shí)參,那么函數(shù)將使用提供的實(shí)參,沒有提供則會使用默認(rèn)值,我們來看這個(gè)例子
在這個(gè)例子中,我們將默認(rèn)的密碼設(shè)為123,實(shí)參只提供了人名
如果,我們提供了實(shí)參的密碼為456呢
密碼的值改變了
但這種方式偶爾也會有錯(cuò)誤,例如我們將username設(shè)定有默認(rèn)值,手工輸入密碼
代碼看上去和前面的沒有問題,我們運(yùn)行一下
我們來思考一下為什么呢,答案很簡單,因?yàn)槲覀兪褂玫氖俏恢脤?shí)參,
之前之所以沒有出錯(cuò),是因?yàn)槲覀兲峁┑膶?shí)參,剛好和username這個(gè)第一個(gè)傳入的形參所對應(yīng)的,而現(xiàn)在我們將第一個(gè)形參設(shè)為默認(rèn)值,實(shí)際上我們提供的實(shí)參'456'是和username所對應(yīng)上了,而passwd的實(shí)參沒有對應(yīng),那么我們?nèi)绾谓鉀Q這種情況呢?使用關(guān)鍵字實(shí)參就好了
最后喜歡我文章的朋友請加圈子關(guān)注我們,私信關(guān)鍵詞:加群。(送免費(fèi)資料和優(yōu)惠券)
就會自動分享給你群號。歡迎大家加入我們的安全大家庭。提高大家的安全意識,提升大家的網(wǎng)絡(luò)安全技能一直是我們的初衷和愿景,讓我們共同成為守護(hù)信息世界的"SaFeMAN"。
還有可以關(guān)注我們微信公眾號,在公眾號上輸入安界網(wǎng),就可以關(guān)注到我們,領(lǐng)取資料和優(yōu)惠券!
總結(jié)
以上是生活随笔為你收集整理的函数运行 形参实参变化 内存空间_可能python创始人都不知道的,python函数实参形参讲解...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python打印二进制内容_在pytho
- 下一篇: python实现推荐系统代码_推荐系统之