1. 類的約束
1. 寫乙個父類. 父類中的某個方法要丟擲乙個異常 notimplementederror (重點)
2. 抽象類和抽象方法
#語法#from abc import abcmeta, abstractmethod
#class base(metaclass = abcmeta):
#@abstractmethod
#def fangfa(self):pass
#抽象類
from abc import
abcmeta, abstractmethod
#抽象類不能建立物件
class animal(metaclass=abcmeta): #
寫完這個東西就是抽象類
@abstractmethod #
抽象方法
def chi(self): pass
#抽象類中是可以有正常的方法
defdong(self):
print('
動物會動')
#class cat(animal): # 此時貓裡面也有乙個抽象方法, 此時的貓是無法建立物件的
#pass##
c = cat() # 此時是報錯的
class
cat(animal):
def chi(self): #
重寫父類中的抽象方法
print('
貓喜歡吃魚')
c =cat()
c.chi()
#貓喜歡吃魚
c.dong() #
動物會動
2. 異常處理.
#語法格式
try:
#**except
異常類:
#除了錯, 如何處理異常
except
異常類:
#除了錯, 如何處理異常
except
異常類:
#除了錯, 如何處理異常
else
:
#當程式不出錯
finally
:
#不管出不出錯, 都要執行
#例try
:
print(1/0)
#f = open("哈哈哈哈哈", mode="r")
#d =
except zerodivisionerror: #
可以處理所有錯誤
print("
除以0出錯了")
except
filenotfounderror:
print("
檔案不存在的錯誤")
except exception: #
兜底的print("
其他錯誤")
else: #
當try中的**不產生任何錯誤的時候. 會自動的執行else裡的**
pass
finally: #
最終. 不管出錯還是不出錯. 都要執行最後的finally 一般用來收尾
print("
哈哈哈哈哈哈哈哈啊哈
")
3. md5
import hashlib #md5需要匯入這個模組
#加密的內容(需要是位元組型別)
obj = hashlib.md5(b'
liuliuliuliuliuliu
') #
加鹽obj.update('
123456
'.encode('
utf-8
')) #
把要加密的內容給md5
print(obj.hexdigest()) #
拿到密文b8de0312dbab0c85cba71b121456f98c
#應用def
my_md5(s):
obj = hashlib.md5(b'
liuliuliuliuliuliu
') #
123456的md5密文
obj.update(s.encode('
utf-8'))
return
obj.hexdigest()
print(my_md5('
123456
')) #
b8de0312dbab0c85cba71b121456f98c
username = '
alex
'password = '
b8de0312dbab0c85cba71b121456f98c'#
登陸uname = input('
請輸入使用者名稱:')
upwd = input('
請輸入你的密碼:')
if uname == username and my_md5(upwd) ==password:
print('
登陸成功')
else
:
print('
登陸失敗
')
python 異常處理,約束
異常處理 在程式設計過程中為了增加友好性,在程式出現bug時一般不會將錯誤資訊顯示給使用者,而是顯示乙個提示的頁面.try pass except exception,ex pass 例如 while true num1 raw input num1 num2 raw input num2 try ...
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
python異常舉例 Python異常處理
1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...