Python學習筆記 五 基本語句

2021-08-19 08:56:31 字數 3401 閱讀 9249

python支援迭代賦值。即把乙個序列或可迭代物件中的元素同時賦值給多個變數,如果等號右側含有表示式,會把所有表示式的值先計算出來,然後再進行賦值。

#多個變數同時賦值

>>> x, y, z = 1, 2, 3

>>> v_tuple = (false, 3.5, 'exp')

>>> (x, y, z) = v_tuple

>>> x, y, z = v_tuple

#可以對range物件進行序列解包

>>> x, y, z = range(3)

#使用迭代器物件進行序列解包

>>> x, y, z = iter([1, 2, 3])

#使用可迭代的map物件進行序列解包

>>> x, y, z = map(str, range(3))

#交換兩個變數的值

>>> a, b = b, a

#sorted()函式返回排序後的列表

>>> x, y, z = sorted([1, 3, 2])

#字串也支援序列解包

>>> a, b, c ='abc'

>>> x = [1, 2, 3, 4, 5, 6]

#切片也支援序列解包

>>> x[:3] = map(str, range(5))

>>> x

['0', '1', '2', '3', '4', 4, 5, 6]

將同乙個值賦給多個變數

x=y=somefunction();

x+=1等價於x=x+1

①關係運算子:>、<、==、<=、>=、!=

• 可以連續使用:a• 在python3.x中不支援<>運算子(表示!=)

• 字串可以按照字幕順序排列進行比較(乙個字幕的順序值可以用ord函式查到)

②算術運算子:+、-、*、/、//、%、**

③測試運算子:

• 成員運算子:in、not in

• 同一性運算子:is、is not

④邏輯(布林)運算子:and、or、not

• 短路求值(惰性求值):布林運算子只有在需要求值時才進行求值

• 利用短路求值實現三元運算子: a if b else c(相當於c中的b?a:c)

⑤位運算子:~、&、|、 ^、 <<、>>

①單分支選擇結構

iftest:

statement

②雙分支選擇結構

寫法1iftest:

statement1

else:

statement2

寫法2statement1iftestelsestatement2

③多分支選擇結構

python中沒有switch..case語句

iftest1:

statement1

eliftest2:

statement2

eliftest3:

statement3

else:

statement4

④巢狀選擇結構

iftest1:

statement1

iftest2:

statement2

else:

statement3

eliftest4:

statement4

else:

statement5

• while迴圈一般用於迴圈次數難以提前確定的情況,也可以用於迴圈次數確定的情況;

while test:

else

: • 為了優化程式以獲得更高的效率和執行速度,在編寫迴圈語句時,應儘量減少迴圈內部不必要的計算,將與迴圈變數無關的**盡可能地提取到迴圈之外。

•   對於使用多重迴圈巢狀的情況,應儘量減少內層迴圈中不必要的計算,盡可能地向外提。

•   while true可以開啟乙個無限迴圈,使用ctrl+c來退出當前的無限迴圈

•   break語句

•   在while迴圈和for迴圈中都可以使用。

•   執行break語句將使整個迴圈提前結束。

•   continue語句

•   執行continue語句將終止當前迴圈,提前進入下一次迴圈。

•   pass語句

•   python pass是空語句,是為了保持程式結構的完整性。pass 不做任何事情,一般用做佔位語句,如下例項

• 在python中,while迴圈和for迴圈都可以帶else子句

• 如果迴圈因為條件表示式不成立而自然結束(不是因為執行了break語句而結束),則執行else結構中的語句

• 如果迴圈是因為執行了break語句而導致迴圈提前結束,則不執行else中的語句

whiletest1:

statement1

iftest2: break# exit loop now, skip "else"below

iftest3: continue# go to top of loop now, to test1

statement2

else:

statement3             # run if we didn't hit a"break"

• for迴圈可以遍歷可迭代物件的專案,如乙個列表或者乙個字串。這種遍歷稱為迭代(iteration)。

• 優先使用for迴圈而非while迴圈

for

in:

else

: • 如果需要遍歷數字序列,可以使用內建range()函式。它會生成數列。

python pass是空語句,是為了保持程式結構的完整性。

pass 不做任何事情,一般用做佔位語句(如果不加pass將會報錯)。

乙個什麼都不做的if語句:

iftrue:

pass #do nothing

else:

pass #do something

乙個空類:

class aa:

pass

a = aa()

Python學習筆記 第五章 if語句

python程式設計 從入門到實踐 學習記錄 示例 cars audi bmw subaru toyota for car in cars if car bmw print car.upper else print car.title 檢查相等 檢查不相等 檢查多個條件 and or 檢查特定值包含...

Lua 學習筆記(五) 語句

一 賦值 多重賦值 每個值或每個變數之間以逗號分隔 例如 a,b 10,20 lua先對等號右邊的所有元素求值,然後才執行賦值。二 區域性變數和塊 local建立區域性變數,作用域僅限於宣告它們的程式塊。三 控制結構 1.if then else end 例如 2.for 數值型for for va...

C 學習筆記五 語句

一 復合語句 塊 復合語句,通常被稱為塊,是用一對花括號括起來的語句序列 也可能是空的 塊標識了乙個作用域,在塊中引入的名字只能在該塊內部或巢狀在塊中的子塊裡訪問。通常,乙個名字只從其定義處到該塊的結尾這段範圍內可見。復合語句用在語法規則要求使用單個語句但程式邏輯卻需要不止乙個語句的地方。例如,wh...