Python語(yǔ)句由關(guān)鍵字
、標(biāo)識(shí)符
、表達(dá)式
組成。語(yǔ)句的根本作用就是執(zhí)行某些修改操作,讓代碼發(fā)揮作用去做某些事。
語(yǔ)句從執(zhí)行結(jié)構(gòu)上來分有順序
、條件
、循環(huán)
結(jié)構(gòu),這3種結(jié)構(gòu)可以實(shí)現(xiàn)任何算法功能。
Python語(yǔ)句根據(jù)代碼占用的邏輯行數(shù)分為只占用1行的簡(jiǎn)單語(yǔ)句和占用多行的復(fù)合語(yǔ)句。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、寧遠(yuǎn)網(wǎng)站維護(hù)、網(wǎng)站推廣。
賦值語(yǔ)句用于將名稱(重)綁定到特定值,以及修改屬性或可變對(duì)象的成員項(xiàng)。
x = 23
x, y = 2, 3 # 多個(gè)變量的賦值
a = 2, 3
m = n = 11 # 鏈?zhǔn)劫x值
assert語(yǔ)句又稱斷言語(yǔ)句。是在程序中插入調(diào)試性斷言的簡(jiǎn)便方式。
用assert語(yǔ)句可以讓程序在指定的時(shí)候檢測(cè)某個(gè)結(jié)果是否為預(yù)期結(jié)果,如果不是預(yù)期結(jié)果則立刻拋出錯(cuò)誤并停止程序運(yùn)行。這有利于我們今早發(fā)現(xiàn)程序的異常并對(duì)程序排錯(cuò),提高程序的強(qiáng)壯性。assert語(yǔ)句的語(yǔ)法結(jié)構(gòu)為:
assert 表達(dá)式 [,異常消息] # []
號(hào)代表里面的內(nèi)容是可選的,下同
assert運(yùn)行規(guī)則為先對(duì)表達(dá)式進(jìn)行求值,如果為真,則繼續(xù)執(zhí)行程序接下來的其他代碼。否則,在沒有指定異常消息
時(shí)默認(rèn)直接拋出AssertionError
錯(cuò)誤。有指定時(shí),拋出AssertionError
錯(cuò)誤的同時(shí)提示異常消息
內(nèi)容
>>> assert 1 < 0, '報(bào)錯(cuò)啦~'
Traceback (most recent call last):
File "E:\studypy\tmp.py", line 1, in
assert 1 < 0, '報(bào)錯(cuò)啦~'
AssertionError: 報(bào)錯(cuò)啦~
assert 0 <= mathmark <= 100 # 斷言成績(jī)得分必須在0~100之間
pass 是一個(gè)空操作,當(dāng)它被執(zhí)行時(shí),什么都不發(fā)生。它適合當(dāng)語(yǔ)法上需要一條語(yǔ)句但并不需要執(zhí)行任何代碼時(shí)用來臨時(shí)占位,例如:
if a > 50:
pass # 暫時(shí)沒有想好要做什么,先用pass占位
del用于刪除一個(gè)對(duì)象。當(dāng)對(duì)象被刪除后如果再次調(diào)用則會(huì)報(bào)錯(cuò):NameError
例如:
>>> a = 5
>>> del a
>>> a
Traceback (most recent call last):
File "C:\Program Files\Python3102\lib\code.py", line 90, in runcode
exec(code, self.locals)
File<input>
, line 1, in
NameError: name 'a' is not defined
return語(yǔ)句一般只會(huì)用于函數(shù)定義中。當(dāng)使用return語(yǔ)句后會(huì)離開當(dāng)前函數(shù)調(diào)用,并以return后面跟著的對(duì)象作為函數(shù)的返回值。
關(guān)于return語(yǔ)句將在后續(xù)的函數(shù)中詳細(xì)介紹。
yield 語(yǔ)句在語(yǔ)義上等同于 yield 表達(dá)式。
yield 表達(dá)式和語(yǔ)句僅在定義生成器函數(shù)時(shí)使用,并且僅被用于生成器函數(shù)的函數(shù)體內(nèi)部。在函數(shù)定義中使用 yield 就足以使得該定義創(chuàng)建的是生成器函數(shù)而非普通函數(shù)。
關(guān)于yield語(yǔ)句將在后續(xù)的生成器中詳細(xì)介紹。
raise語(yǔ)句用來直接引出一個(gè)異常。raise 語(yǔ)句的基本語(yǔ)法格式為:
raise [異常名[(異常原因)]]
其中,用 [] 括起來的為可選參數(shù),其作用是指定拋出的異常名稱,以及異常信息的相關(guān)描述。如果可選參數(shù)全部省略,則 raise 會(huì)把當(dāng)前錯(cuò)誤原樣拋出;如果僅省略 (異常原因),則在拋出異常時(shí),將不附帶任何的異常描述信息。
也就是說,raise 語(yǔ)句有如下三種常用的用法:
1、raise:?jiǎn)为?dú)一個(gè) raise。該語(yǔ)句引發(fā)當(dāng)前上下文中捕獲的異常(比如在 except 塊中),或默認(rèn)引發(fā) RuntimeError 異常。
>>> raise
Traceback (most recent call last):
File "C:\Program Files\Python3102\lib\code.py", line 90, in runcode
exec(code, self.locals)
File<input>
, line 1, in
RuntimeError: No active exception to reraise
2、raise 異常類名稱:raise 后帶一個(gè)異常類名稱,表示引發(fā)執(zhí)行類型的異常。如果不存在表達(dá)式,raise將直接引發(fā)RuntimeError異常。
>>> raise ValueError
Traceback (most recent call last):
File "C:\Program Files\Python3102\lib\code.py", line 90, in runcode
exec(code, self.locals)
File<input>
, line 1, in
ValueError
3、raise 異常類名稱(描述信息):在引發(fā)指定類型的異常的同時(shí),附帶異常的描述信息。
>>> raise ValueError('報(bào)錯(cuò)啦~')
Traceback (most recent call last):
File "C:\Program Files\Python3102\lib\code.py", line 90, in runcode
exec(code, self.locals)
File<input>
, line 1, in
ValueError: 報(bào)錯(cuò)啦~
break 在語(yǔ)法上只會(huì)出現(xiàn)于 for 或 while 循環(huán)所嵌套的代碼,但不會(huì)出現(xiàn)于該循環(huán)內(nèi)部的函數(shù)或類定義所嵌套的代碼中。
它會(huì)終結(jié)最近的外層循環(huán),如果循環(huán)有可選的 else 子句,也會(huì)跳過該子句。
如果一個(gè) for 循環(huán)被 break 所終結(jié),該循環(huán)的控制目標(biāo)會(huì)保持其當(dāng)前值。
當(dāng) break 將控制流傳出一個(gè)帶有 finally 子句的 try 語(yǔ)句時(shí),該 finally 子句會(huì)先被執(zhí)行然后再真正離開該循環(huán)。
關(guān)于break語(yǔ)句將在后續(xù)的for循環(huán)和while循環(huán)中詳細(xì)介紹。
continue 在語(yǔ)法上只會(huì)出現(xiàn)于 for 或 while 循環(huán)所嵌套的代碼中,但不會(huì)出現(xiàn)于該循環(huán)內(nèi)部的函數(shù)或類定義中。它會(huì)繼續(xù)執(zhí)行最近的外層循環(huán)的下一個(gè)輪次。
當(dāng) continue 將控制流傳出一個(gè)帶有 finally 子句的 try 語(yǔ)句時(shí),該 finally 子句會(huì)先被執(zhí)行然后再真正開始循環(huán)的下一個(gè)輪次。
關(guān)于continue語(yǔ)句將在后續(xù)的for循環(huán)和while循環(huán)中詳細(xì)介紹。
import語(yǔ)句用來導(dǎo)入模塊或者包。之前已經(jīng)在模塊
章節(jié)詳細(xì)介紹過了。
global 語(yǔ)句是作用于整個(gè)當(dāng)前代碼塊的聲明。它意味著所列出的標(biāo)識(shí)符將被解讀為全局變量。要給全局變量賦值需要用到 global 關(guān)鍵字,不過自由變量也可以指向全局變量而不必聲明為全局變量。
在 global 語(yǔ)句中列出的名稱不得在同一代碼塊內(nèi)該 global 語(yǔ)句之前的位置中使用。
在 global 語(yǔ)句中列出的名稱不能被定義為形式參數(shù),也不能被作為 with 語(yǔ)句或 except 子句的目標(biāo),以及 for 循環(huán)的目標(biāo)列表、class 定義、函數(shù)定義、import 語(yǔ)句或變量標(biāo)注等等。
nonlocal 語(yǔ)句會(huì)使得所列出的名稱指向之前在最近的包含作用域中綁定的除全局變量以外的變量。這種功能很重要,因?yàn)榻壎ǖ哪J(rèn)行為是先搜索局部命名空間。這個(gè)語(yǔ)句允許被封裝的代碼重新綁定局部作用域以外且非全局(模塊)作用域當(dāng)中的變量。
與 global 語(yǔ)句中列出的名稱不同,nonlocal 語(yǔ)句中列出的名稱必須指向之前存在于包含作用域之中的綁定(在這個(gè)應(yīng)當(dāng)用來創(chuàng)建新綁定的作用域不能被無歧義地確定)。
nonlocal 語(yǔ)句中列出的名稱不得與之前存在于局部作用域中的綁定相沖突。
示例:
a = 1
def outer():
b = 2
def inner():
nonlocal b # 聲明外部函數(shù)的局部變量
print(f"inner b:{b}")
b = 3
global a # 聲明全局變量
a = 4
inner()
print(f"outer b:{b}")
outer()
print(f"a :{a}")
inner b:2
outer b:3
a :4
練習(xí)
1、將教程中所有的簡(jiǎn)單語(yǔ)句示例全部手敲一遍并熟悉
網(wǎng)站標(biāo)題:Python簡(jiǎn)單語(yǔ)句
當(dāng)前網(wǎng)址:http://m.kartarina.com/article34/dsogjpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄、定制網(wǎng)站、建站公司、網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容