常州專業(yè)網(wǎng)站建設(shè)推廣seo基礎(chǔ)培訓(xùn)機(jī)構(gòu)
1.建立函數(shù):
def 函數(shù)名(形參):
? ? ? ? 函數(shù)體(記得寫縮進(jìn))
? ? ? ? return 返回值(python中可以沒(méi)有return)
2.調(diào)用函數(shù):
函數(shù)名(實(shí)參)
實(shí)參和形參個(gè)數(shù)相等即可,類型不需要相同
其中接收返回值與C中的差不多
3.如果只是定義而不調(diào)用則函數(shù)不會(huì)執(zhí)行
4.先定義函數(shù),后調(diào)用
5.python中可以讓計(jì)算機(jī)忽略某行的警告(沒(méi)啥意義)
6.函數(shù)的返回值可以不用變量去接收而直接打印
例
7.函數(shù)功能盡量單一(例如:讓邏輯和交互分離)
8.函數(shù)盡量低耦合
9.在python中,縮進(jìn)真的很重要
10.return 和C一樣(但是調(diào)用函數(shù)后可以返回多個(gè)值)
例子:
此時(shí)若只想拿到其中的一個(gè)返回值,則這樣做:
11.可以這樣賦值:
a,b=10,20
12.變量會(huì)有作用域,與C應(yīng)該一致
函數(shù)內(nèi)部的變量名只能在函數(shù)內(nèi)部生效
關(guān)于那個(gè)全局變量和局部變量同名的情況:
與C一致
但是若想在函數(shù)內(nèi)部修改全局變量,則要加一個(gè)關(guān)鍵字 global,否則就是創(chuàng)立一個(gè)局部變量
例子:
但是關(guān)于那個(gè)變量的作用域,有個(gè)特殊的點(diǎn),就是只有在函數(shù)內(nèi)部才能創(chuàng)立局部變量,
在if,for,while等代碼塊中創(chuàng)立的變量是全局變量
13.調(diào)試器:
用好斷點(diǎn)
?新始:
5.鏈?zhǔn)秸{(diào)用
用一個(gè)函數(shù)的返回值作為另一個(gè)函數(shù)的參數(shù)
如:
嵌入的層次不要太深
6.嵌套調(diào)用:
像那個(gè)上邊那個(gè)的printf一樣,就是在一個(gè)函數(shù)里邊調(diào)用另外一個(gè)函數(shù)(應(yīng)該可同可不同)
7.每個(gè)函數(shù)在被調(diào)用時(shí)都用生成各自對(duì)應(yīng)的函數(shù)棧幀,調(diào)用完成時(shí)棧幀銷毀,各自創(chuàng)建的局部變量待在各自的函數(shù)棧幀之中(每個(gè)棧幀也是保存在內(nèi)存中)
8.函數(shù)遞歸:
與C大體一致
理解簡(jiǎn)單,但代碼執(zhí)行過(guò)程較復(fù)雜
容易棧溢出
所以湯說(shuō)將遞歸問(wèn)題轉(zhuǎn)化為循環(huán)問(wèn)題去寫,而且運(yùn)行速度會(huì)更快,少用遞歸
9.做編程問(wèn)題,多多畫圖
10.搜沒(méi)什么用
11.函數(shù)形參的默認(rèn)值:
如:
但是帶有默認(rèn)值的參數(shù)不能夠放在沒(méi)帶默認(rèn)參數(shù)的前邊,不然報(bào)錯(cuò)
12.在函數(shù)調(diào)用傳參步驟中,可以指定某個(gè)參數(shù)傳參
如: