Python異常處理,類的私有屬性

2021-08-17 16:52:21 字數 1885 閱讀 2936

異常處理:

格式:

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 ...