程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【python學習9】函數,python中常用的內置函數(待完善),python中的bug

編輯:Python

(一)函數的定義和調用

1,函數基礎知識 

 

 2,函數的參數傳遞

(1)形參與實參 

 (2)參數的類型

關鍵字參數:參數的名稱必須和 函數定義的參數名稱 相同 

若采用混合方式傳遞參數若位置參數在關鍵字參數之後,程序會報錯;反過來不會報錯

默認值參數形式:def happy_birthday(name="abc",age=18)   #即形參已給定數值

注意項:

①【函數定義時】,形參存在位置參數和默認值參數時,默認值參數放在最後

 可變位置參數:注意 列表傳遞解包操作前加*

 可變關鍵字參數:注意 直接傳遞字典解包操作前加**

#個數可變的位置參數
def fun(*para):
print(type(para))
for item in para:
print(item)
fun(10,20,30,52) #輸出時tuple類型,(10,20,30,52)
fun(10) #輸出tuple類型,(10)
fun([10,20,30]) #輸出tuple類型,[10,20,30],元組只有一個元素且元素類型時列表
fun(*[10,20,30]) #實參前加*號將列表進行解包,輸出是(10,20,30)
#個數可變的關鍵字參數
def fun2(**ecpara):
print(type(ecpara))
for key,value in ecpara.items():
print(key,value)
fun2(name="abc",age=18,height=180,weight=160) #輸出dict類型
#直接穿字典類型dict
d={"name":"abc","age":18,"height":180,"weight":160}
fun2(**d) #類似字典的解包,即可穿字典類型

 (二)Bug的介紹

1,Bug簡介和分類

Bug的由來:

某人在用第一部計算機寫程序時,一致出現錯誤,因此他拆開計算機發現有個蟲子卡在寄存器中,成為Bug,排除錯誤debug

 (1)是因為input()函數會將輸入內容轉為str類型,str不能與int比較,故語法錯誤

 (2)是因為未給 i 賦值,print是中文括號,循環體內沒有改變循環變量的語句

對於邏輯不清晰的Bug調試采用: ①使用print()函數輸出檢驗   ②使用“#”暫時注釋部分代碼 

2 ,針對被動掉坑(上圖),python具有的異常處理機制:

(1)使用 try-except 結構

 

BaseExceptiom 是最基礎最大的異常報錯 ,是最大的父類

BaseException as e:是將該模塊用作別名 e

 (2)使用try-except-else結構

 (3)使用try-except-else-finally結構

 finally模塊:常用來釋放try塊中申請的資源

        *後面的 文件處理關閉數據庫的連接 都會 放在finally模塊中

try-except-else-finally結構 相較於前兩種是 較為完整的處理程序異常的結構

3,python中常見的異常類型

 (1)traceback模塊的使用

import traceback
try:
print("---------------")
print(1/0)
except:
traceback.print_exc() #打印錯誤信息

traceback模塊 作用:用該模塊打印錯誤信息,可能會存入到文件當中放到日志中成為log日志


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved