010 Python 類的高級特性

# Python 類的高級特性python


  ● 靜態成員編碼

1 # -*- coding: UTF-8 -*-
2 
3 class UserInfo(object):
4     #靜態成員
5     company = 'I Love PoEdu'
6 print(UserInfo.company)

 

 1 # -*- coding: UTF-8 -*-
 2 
 3 class UserInfo(object):
 4     #靜態成員
 5     company = 'I Love PoEdu'
 6 print(UserInfo.company)
 7 user1 = UserInfo()
 8 user2 = UserInfo()
 9     #Python 對靜態的變量 控制沒有那麼嚴格
10 user1.company = "PoEdu"
11 print("user1:",user1.company)
12 print("user2:",user2.company)
13 
14 user2.company = "PoEdu"
15 print("user1:",user1.company)
16 print("user2:",user2.company)

 

  ● 異常處理

    通用異常類型表spa

異常 描述
BaseException 全部異常的基類
SystemExit 解釋器請求退出
KeyboardInterrupt 用戶中斷執行(一般是輸入^C)
Exception 常規錯誤的基類
StopIteration 迭代器沒有更多的值
GeneratorExit 生成器(generator)發生異常來通知退出
StandardError 全部的內建標準異常的基類
ArithmeticError 全部數值計算錯誤的基類
FloatingPointError 浮點計算錯誤
OverflowError 數值運算超出最大限制
ZeroDivisionError 除(或取模)零 (全部數據類型)
AssertionError 斷言語句失敗
AttributeError 對象沒有這個屬性
EOFError 沒有內建輸入,到達EOF 標記
EnvironmentError 操做系統錯誤的基類
IOError 輸入/輸出操做失敗
OSError 操做系統錯誤
WindowsError 系統調用失敗
ImportError 導入模塊/對象失敗
LookupError 無效數據查詢的基類
IndexError 序列中沒有此索引(index)
KeyError 映射中沒有這個鍵
MemoryError 內存溢出錯誤(對於Python 解釋器不是致命的)
NameError 未聲明/初始化對象 (沒有屬性)
UnboundLocalError 訪問未初始化的本地變量
ReferenceError 弱引用(Weak reference)試圖訪問已經垃圾回收了的對象
RuntimeError 通常的運行時錯誤
NotImplementedError 還沒有實現的方法
SyntaxError Python 語法錯誤
IndentationError 縮進錯誤
TabError Tab 和空格混用
SystemError 通常的解釋器系統錯誤
TypeError 對類型無效的操做
ValueError 傳入無效的參數
UnicodeError Unicode 相關的錯誤
UnicodeDecodeError Unicode 解碼時的錯誤
UnicodeEncodeError Unicode 編碼時錯誤
UnicodeTranslateError Unicode 轉換時錯誤
Warning 警告的基類
DeprecationWarning 關於被棄用的特徵的警告
FutureWarning 關於構造未來語義會有改變的警告
OverflowWarning 舊的關於自動提高爲長整型(long)的警告
PendingDeprecationWarning 關於特性將會被廢棄的警告
RuntimeWarning 可疑的運行時行爲(runtime behavior)的警告
SyntaxWarning 可疑的語法的警告
UserWarning 用戶代碼生成的警告

      異常便是一個事件,該事件會在程序執行過程當中發生,影響了程序的正常執行。
      通常狀況下,在Python沒法正常處理程序時就會發生一個異常。
      異常是Python對象,表示一個錯誤。
      當Python腳本發生異常時咱們須要捕獲處理它,不然程序會終止執行。操作系統

 

  ● 1.默認異常處理code

1 # -*- coding: UTF-8 -*-
2 s = 'I Love PoEdu !'
3 print (s[100])
4 print ('continue')

 

    若是沒有對異常進行任何預防,程序執行的過程當中發生異常,
    就會中斷程序,調用python默認的異常處理器,並在終端輸出異常信息。
    這種狀況下,第3行代碼不會執行。對象

 

  ● 2.try…exceptblog

1 # -*- coding: UTF-8 -*-
2 s = ('I Love PoEdu !')
3 try:
4     print(s[100])
5 except IndexError:
6     print('錯誤提示信息...')
7 print('程序繼續執行!')

    程序執行到try語句,try沒有發生異常執行 try內語句,若是發生有異常,執行except內代碼,程序繼續往下執行索引

 

  ● 3.try…finally事件

1 s = ('I Love PoEdu !')
2 try:
3     print(s)
4 finally:
5     print('錯誤提示信息...')
6 print('程序繼續執行!')

 

    finally語句,不管異常發生與否,finally中的語句都要執行。
    可是,因爲沒有except處理器,finally執行完畢後程序便中斷。
    這種狀況下,倒第2個print會執行,到第1個不會執行。若是try
    語句中沒有異常,三個print都會執行。內存

 

  ● 4.assert

1 # -*- coding: UTF-8 -*-
2 s = 'I Love PoEdu!'
3 assert(s[100],'錯誤提示信息...')
4 print('程序繼續執行!')

    這個語句,先判斷assert後面緊跟的語句是True仍是False,     若是是True則繼續執行print,若是是False則中斷程序,調用     默認的異常處理器,同時輸出assert語句逗號後面的提示信息。     本例狀況下,程序中斷,提示error,後面的print不執行。

相關文章
相關標籤/搜索