異常處理:
格式:
try ***x
except 錯誤型別,變數名(可省):
print
"************",變數名(可省)
例:
#!/bin/env python
import time
try:
name=['a','b','c']
name[3] ##第乙個錯,對應indexerror
info_dic={}
info_dic['alex'] ##第二個錯,對應indentationerror
time.sleep(10) ##ctrl+c,對應keyboardinterrupt
except indexerror:
print
'you list are wrong!'
except indentationerror:
print
'no valid key'
except keyboardinterrupt:
print
'sfdssdf'
還可以手動觸發異常:
try:
name=raw_input()
if len(name)==0:
raise indexerror ##當name輸入為空時即報錯為indexerror型別。
except indexerror:
print
'you list are wrong!'
#!/bin/env python
class
alexexception
(exception):
def__init__
(self,err):
print
'the name you input is not correct!',err
try:
name=raw_input('nmae:').split()
if name[0] != 'alex':
raise alexexception(name)
except alexexception:
print
"no valid name ..."
類的私有屬性:
在類方法前加__即是私有
#!/bin/env python
#!coding=utf-8
class
person
(object):
def__init__
(self,name,age):
self.name=name
self.age=age
print
'haha:%s,%s' %(name,age)
defsayhi
(self):
print
'hi,my name is %s,age is %s' %(self.name,self.age)
#self.__talk() ##只可在函式內部呼叫
def__talk
(self):
print
'i speak english'
#def __del__(self):
# print 'i got killed just now ... bye ... %s'%self.name
p=person('alex',29)
p._person__talk() ##函式外部呼叫需要有該特定的格式,但不建議如此呼叫。
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
python學習筆記013 模組中的私有屬性
在python中,沒有類似private之類的關鍵字來宣告私有方法或屬性。若要宣告其私有屬性,語法規則為 屬性前加雙下劃線,屬性後不加 雙 下劃線,如將屬性name私有化,則 name 即可。實際上,屬性前加單下劃線,屬性後不加下劃線也可以 name 1 以乙個下劃線開頭的識別符號 不能訪問的方法或...
定義「異常類」處理異常
include using namespace std 定義除數為0異常類 class zeroexception char show 定義總分或科目數為負數異常類 class negativeexception char show float div float score,int n if n ...