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