久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python自定義函數(shù)def的應(yīng)用詳解

瀏覽:8日期:2022-07-23 09:31:11

這里是三歲,來(lái)和大家嘮嘮自定義函數(shù),這一個(gè)神奇的東西,帶大家白話玩轉(zhuǎn)自定義函數(shù)

自定義函數(shù),編程里面的精髓!

def

自定義函數(shù)的必要函數(shù):def

使用方法:

def 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)…): 函數(shù)體(語(yǔ)句塊) return [返回值]

注意事項(xiàng)

函數(shù)名的命名規(guī)則:和標(biāo)識(shí)符的基本規(guī)則是一樣的,基本上由小寫(xiě)字母和數(shù)字下劃線構(gòu)成 def 是關(guān)鍵字,不能夠修改(define的簡(jiǎn)稱) 函數(shù)后面一定要加括號(hào)(英文狀態(tài)的)括號(hào)里面是否加參數(shù)看具體情況 括號(hào)后面的冒號(hào)不能夠忘記 函數(shù)體必須加上縮進(jìn)(建議4個(gè)空格)

案例分析

def hello(): #自定義hello()函數(shù) print(’hello world !’) hello() # 調(diào)用函數(shù)hello world ! # 輸出結(jié)果

該處是定義了一個(gè)輸出‘hello world !’的函數(shù),只要調(diào)用hello()即可實(shí)現(xiàn)對(duì)函數(shù)體的調(diào)用。

來(lái)個(gè)復(fù)雜點(diǎn)的練練手,感受一下磨刀霍霍向木蘭

def add(x, y): # 新建add() return x+yadd(3, 7) # 調(diào)用add()運(yùn)行ing輸出none

啊累累!啊累累!啊累累!我寫(xiě)了個(gè)bug還是寫(xiě)了一個(gè)寂寞?

哦哦哦!我建了一個(gè)房子沒(méi)有留門(淚目)沒(méi)有輸出怎么能夠有結(jié)果?

print(add(3, 7))print(add(’hello ’, ’world’))#運(yùn)行結(jié)果10hello world

作死挑戰(zhàn)

記得每一次調(diào)用函數(shù)都加了 ()那么不加括號(hào)的是什么東西?

難道就是傳說(shuō)中的寫(xiě)了個(gè)寂寞還是什么東西?

讓我們一起來(lái)作死看看

print(hello) # 調(diào)用helloprint(add) # 調(diào)用add結(jié)果:<function hello at 0x0000020213737048><function add at 0x0000020213737678>

哇哦!他真的可以有經(jīng)過(guò)查詢他顯示的是這個(gè)函數(shù)的內(nèi)存地址,而不是這個(gè)函數(shù)的結(jié)果什么的,函數(shù)并沒(méi)有被調(diào)用

溫馨提示 調(diào)用函數(shù)一定要在函數(shù)名后面加上括號(hào)

函數(shù)參數(shù)

自定義函數(shù)的參數(shù),分為幾大類:

位置傳參 關(guān)鍵字傳參 必選參數(shù) 默認(rèn)參數(shù) 可變參數(shù) ……

形參與實(shí)參

白話時(shí)間:(個(gè)人理解基礎(chǔ)的表達(dá),如有不同之處請(qǐng)指教提出)形參:就是參數(shù)名稱,一個(gè)沒(méi)有被賦值的變量名,不會(huì)實(shí)際的參與函數(shù)的運(yùn)算,而是起到一個(gè)類似占位符的作用。

實(shí)參:實(shí)際參加函數(shù)運(yùn)算的值,已經(jīng)賦值給了相對(duì)應(yīng)的變量名。

ps:以上基于個(gè)人理解,本非準(zhǔn)確表達(dá),在個(gè)人理解基礎(chǔ)上的白話表達(dá)

位置參數(shù)

位置參數(shù)就是按照參數(shù)的位置進(jìn)行表達(dá)和相對(duì)應(yīng)的

python自定義函數(shù)def的應(yīng)用詳解

參數(shù)寫(xiě)的位置決定了它所對(duì)應(yīng)的值,這種寫(xiě)法如果有多個(gè)參數(shù)必須注意,寫(xiě)錯(cuò)位置整個(gè)函數(shù)有可能會(huì)報(bào)錯(cuò),整個(gè)程序有可能會(huì)奔潰!!!

關(guān)鍵字參數(shù)

關(guān)鍵字參數(shù)雖然寫(xiě)法較為麻煩但是很好的解決了多個(gè)參數(shù)因?yàn)槲恢缅e(cuò)誤導(dǎo)致的函數(shù)報(bào)錯(cuò)及程序不穩(wěn)定問(wèn)題

python自定義函數(shù)def的應(yīng)用詳解

通過(guò)定義的參數(shù)名稱來(lái)確定對(duì)應(yīng)參數(shù)的值,可以有效的解決問(wèn)題

例:print() 里面除了經(jīng)常用的輸出內(nèi)容還有end參數(shù)end參數(shù)默認(rèn)是‘n’,如果通過(guò)關(guān)鍵字參數(shù)進(jìn)行重新定義就可以改變

for i in range(10): print(i)

結(jié)果:0123456789

for i in range(10): print(i,end= ’ ’)

結(jié)果:0 1 2 3 4 5 6 7 8 9

默認(rèn)參數(shù)

在函數(shù)涉及過(guò)程中很多參數(shù)不一定所有人一定用的上,可以設(shè)置一個(gè)默認(rèn)值,這樣子需要的人可以DIY,沒(méi)有需要的就采用默認(rèn)參數(shù)比如print()中 end 就是默認(rèn)參數(shù)默認(rèn)值為‘n’

def add(x=0, y=0): return x+yprint(add())結(jié)果:0

必選參數(shù)

必選參數(shù)就是必須要寫(xiě)的參數(shù),這個(gè)與默認(rèn)參數(shù)相對(duì),不是默認(rèn)參數(shù)就是必選參數(shù),如果沒(méi)有對(duì)必選參數(shù)進(jìn)行導(dǎo)入就會(huì)引發(fā)報(bào)錯(cuò),導(dǎo)致系統(tǒng)函數(shù)奔潰

def add(x, y): # 新建add() return x+y print(add())Traceback (most recent call last): print(add())TypeError: add() missing 2 required positional arguments: ’x’ and ’y’

這個(gè)就是缺少x,y參數(shù)導(dǎo)致的異常。所有在使用函數(shù)及自定義時(shí)要注意必選參數(shù)的設(shè)置

可變參數(shù)

可變參數(shù)這個(gè)名字比較高大上,但是實(shí)際上很簡(jiǎn)單比如要寫(xiě)一個(gè)多個(gè)數(shù)字相加的函數(shù)怎么辦呢?直接寫(xiě)?

def add(x, y): # 新建add() return x+y

那如果是3個(gè)值呢?會(huì)應(yīng)為多了一個(gè)參數(shù)報(bào)錯(cuò)那么就改成三個(gè)參數(shù)?

def add(x, y, z): # 新建add() return x+y+z

問(wèn)題來(lái)了如果是2個(gè)值那么就會(huì)報(bào)錯(cuò)缺一個(gè)參數(shù),如果是4個(gè)及以上就會(huì)報(bào)錯(cuò),多了參數(shù)啊啊啊啊啊啊啊啊啊!只是什么東西,難度python一世英名就毀在這里了嘛?

不不不!神奇的事情發(fā)生了

def 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)…,*可變參數(shù)): 函數(shù)體(語(yǔ)句塊) 返回值

emmm,奇怪的知識(shí)增長(zhǎng)了

def add(x, *y): for num in y: x += num return xprint(add(2,3,4))結(jié)果9

ps:*y 所產(chǎn)生的是一個(gè)tuple(元組)我們需要先逐個(gè)遍歷才能夠拿到每一個(gè)的結(jié)果。

可變關(guān)鍵字參數(shù)

如果有多個(gè)關(guān)鍵字參數(shù)或者字典的導(dǎo)入使用 *參數(shù)名 無(wú)法滿足怎么辦難道python一世英名就這樣子栽了嗎?不不不一個(gè) * 不行那么就來(lái)兩個(gè) **

def personinfo(name, age, **message): print(f’name:{name},age:{age},{message}’)personinfo(’張三’, 23, message = {’city’:’北京’, ’heigh’: 180})結(jié)果:name:張三,age:23,{’message’: {’city’: ’北京’, ’heigh’: 180}}

在里面得到的結(jié)果是一個(gè)字典,看例子可以知道得到了一個(gè)鑲嵌的字典

參數(shù)問(wèn)題解答參數(shù)的書(shū)寫(xiě)要求:① 必選參數(shù)寫(xiě)在最前面②默認(rèn)參數(shù)寫(xiě)在必選參數(shù)后面③默認(rèn)參數(shù)后面是關(guān)鍵字參數(shù)④關(guān)鍵字后面是*函數(shù)名(可變參數(shù))⑤后面跟著可變關(guān)鍵字參數(shù)(**函數(shù)名)

ps:按照該順序走,沒(méi)有的可以不寫(xiě)

def a(x , y=0, *z, **i): print(f’x:{x};y:{y};z:{z};i’)

以上就是舉例子,命名方式不符合規(guī)定,不要借鑒不安以上方式可能出現(xiàn)各種奇怪的情況

到此這篇關(guān)于python自定義函數(shù)def的應(yīng)用詳解的文章就介紹到這了,更多相關(guān)python自定義函數(shù)def內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲高清一区二区三区 | 国产成人综合一区二区三区 | 国产成人精品电影 | 一区二区精品在线 | 久久99深爱久久99精品 | 中文乱码一区 | 黄色av观看 | 韩国电影久久 | 亚洲视频在线看 | 欧美日韩美女 | 国产激情一区二区三区 | 91中文字幕在线观看 | 精品视频二区 | 天天综合网91 | 欧美第一网站 | 亚洲福利在线观看 | 免费看一区二区三区 | 北条麻妃国产九九九精品小说 | 在线日韩视频 | 午夜影院免费视频 | 午夜专区| 日本综合视频 | 色婷婷久久久久swag精品 | 久久国产精品久久久久久久久久 | 色一情一乱一伦一区二区三区 | 国产精品1区2区 | 青青久久久 | 精品一区二区三区久久久 | 成年人免费网站 | 日本理论片好看理论片 | 亚洲精品成人a8198a | 国产精品资源在线 | 免费观看av电影 | 一区二区三区播放 | 国精日本亚洲欧州国产中文久久 | 亚洲国产精品自拍 | 日韩一区二区三区在线看 | 男女羞羞视频在线免费观看 | 欧美在线观看一区二区 | 亚洲欧美中文日韩v在线观看 | 日韩精品免费观看 |