主要內容:
1.異常處理基本語句
在程式執行過程中,由於編碼不規範等造成程式無法正常執行,此時程式就會報錯。健壯性:很多程式語言都有異常處理機制
def calc(a,b):
return a/b
try:
x=calc(3,1) #如果程式出錯會立刻跳轉到except語句
except:
print('程式出錯了')
else: #如果程式沒有出錯會執行else裡面的**
print('列印的結果是:',x,sep='')
try……except 語句用來處理程式執行過程中的異常
try:
print(3/0)
file=open('***.txt')
print(file.read())
file.close()
except exception as e:
# except (filenotfounderror,zerodivisionerror,keyerror) as e: #給異常取了個變數名e
print(e)
2.finally關鍵字的使用
finally的注意事項:一般情況下,乙個函式只能執行乙個return語句,但是如果函式裡面有finally,finally裡面的返回值會覆蓋之前的返回值
print('檔案被關閉了')
3.with關鍵字的使用
with關鍵字會幫我們關閉檔案,不需要手動關閉檔案。
with我們稱之為上下文管理器,很多需要手動關閉的連線,比如說檔案連線、socket連線、資料庫連線都能使用with關鍵字自動關閉連線
try:
with open('***.txt') as file:
file.read() #不需要手動關閉檔案
except filenotfounderror:
print('檔案未找到')
with語句後面的結果物件,需要重寫__enter__和__exit__魔術方法。當進入with**塊時會自動呼叫__enter__方法裡面的**,當with**塊執行完成以後,會自動呼叫__exit__方法
class demo(object):
def __enter__(self):
print('__enter__方法被呼叫了')
return 'hello'
def __exit__(self, exc_type, exc_val, exc_tb):
print('__exit__方法被呼叫了')
pass
def create_obj():
x=demo()
return x
#c=create_obj().__enter__()
with create_obj() as c:
print(c)
# __enter__方法被呼叫了
# hello
# __exit__方法被呼叫了
4.自定義異常
系統內建的異常:
(1)zerodivisionerror:除以0的異常
(2)filenotfounderror:檔案不存在的異常
(3)fileexistserror:多次建立同名的資料夾os.mkdir(『***.txt』)
(4)valueerror:int(『hello』)
(5)keyerror:a_dict= a_dict[「age」]
(6)syntaxerror:print(『hello』,『good』)
(7)indexerror:names=[『張三』,『李四』,『王五』] print(names[7])
class myerror(exception):
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return '長度必須要在{}和{}之間'.format(self.a, self.b)
password = input('請輸入你的密碼:')
m = 6
n = 12
if len(password)>=m and len(password)<=n:
print('密碼正確')
else:
#使用raise關鍵字可以丟擲乙個異常
raise myerror(m, n)
5.高階裝飾器
(1)裝飾器的回顧:
def can_play(fn):
def inner(name,game,**kwargs):
clock=kwargs.get('clock',21)
if clock>=21:
print('太晚了,不能玩遊戲')
else:
fn(name,game)
return inner
@can_play
def play_game(name,game):
print(name,'正在玩',game,sep='')
play_game('張三','王者榮耀',clock=18)
(2)高階裝飾器:
def can_play(clock):
def handle_action(fn):
def do_action(name,game):
if clock>21:
print('太晚了,不能玩遊戲')
else:
fn(name,game)
return do_action
return handle_action
@can_play(23)
def play_game(name,game):
print(name,'正在玩',game,sep='')
play_game('張三','王者榮耀')
python基礎主要內容 python基礎語法
主要內容 1.異常處理基本語句 在程式執行過程中,由於編碼不規範等造成程式無法正常執行,此時程式就會報錯。健壯性 很多程式語言都有異常處理機制 def calc a,b return a b try x calc 3,1 如果程式出錯會立刻跳轉到except語句 except print 程式出錯了...
python主要內容總結 Python基礎內容總結
1 為什麼學習python 有一句名言 人生苦短,我用python 學習資料分析,學習python就對了,不是說python比其他程式語言更好,只是我更喜歡。2 python環境安裝 需要安裝 anaconda 和 jupyter anaconda 是整體python執行的環境,jupyter 是你...
1 6 主要內容
本書的主要內容包括三個主要部分,分為程式設計技術 核心分析和專案例項。這些內容合為一體,讀者可以學習到在moblin上進行應用軟體開發的技能,最終目標是開發乙個moblin作業系統發行版。程式設計技術以c語言為基礎,除了簡單講解語法以外,主要是介紹在moblin系統中真正廣泛使用的gobject程式...