極客饕餮 · 程式 ·

python3 小白教程(二)控制結構

一 布爾與比較

兩個布爾值:True和False.注意其他形式的true或false都不對.

== 等於

!=不等於

可以使用大於和小於運算符來按字母順序比較字符串

二 if語句

if 表達:

代碼

python使用縮進(一行的開始處的空白)來分隔代碼塊

其他語言使用大括號來實現這一點,但是在python中必須使用縮進

# -*- coding:UTF-8 -*-

if 10>5:

print("10大於5")

print("程序結束")

三 else語句

else語句跟隨在if語句後,當if語句的計算結果為False時,執行else代碼塊.

和if語句一樣,塊內的代碼應該縮進.

elif語句

elif(else if的簡寫)語句是if和else語句使用的快捷方式

一系列if elif語句可以有一個最終的else語句,如果if或者elif條件均不成立時 ,會調用else代碼塊.

例如:

num=7

if num==5:

print("Numeber is 5")

elif num==11:

print("Number is 11")

elif num==7:

print("Number is 7")

else:

print("Number isn't 5,7,11'")

結果:

Number is 7

在其他的程式語言中,elif語句有不同的名稱,包括else if,elseif或elsif.

四 邏輯運算符

and 與 兩個條件都為True時,結果為True

or 或 兩個條件有一個條件為True,結果為True

not 非 相反的結果

python的布爾運算符使用單詞,而大多數語言使用符號(&&,||,!)

五 運算符優先級

python的操作順序與正常數學的順序相同,先是括號,然後取冪,然後乘除,然後加減.

運算符 描述(優先級高的在上)

** 指數(最高優先級)

~ + - 按位翻轉,正負號

* / % // 乘 除 求余 取商

+ - 加減

>> << 右移,左移運算符

& 位"AND"

^ | 位運算符

<= < > >= 比較運算符

== != 等於運算符

= %= /= **= 賦值運算符

is is not 身份運算符

in not in 成員運算符

not or and 邏輯運算符

六 while運算符

i=1

while i<=5:

print(i)

i=i+1

print("Finished")

while循環體中的代碼被重複執行,這被稱為疊代.

要提前結束while循環,可以使用break語句

在循環外部使用break語句,會導致錯誤.

continue語句是提前結束本次循環,進入下次循環疊代.

相似循環外部使用continue語句,會導致錯誤.

七 列表

列表時python中的另一種類型的對象,他們被用來存儲索引的元素列表.

方括號中用逗號分隔元素來創建一個列表.

列表中的元素可以通過使用方括號中的索引來訪問

例如:

words=["hello","world","!"]

print(words[0])

print(words[1])

print(words[2])

一個空的列表用一對空的方括號創建.

empty_list=[]

print(empty_list)

結果:

[]

大多數情況下,列表中的最後一項不會帶逗號.然而,在某些情況下是鼓勵在末尾添加逗號的.

列表通常情況下包含單種數據類型的元素,但也可以包含不同類型的數據元素.

列表也可以嵌套在其他列表中.

number=3

things=["string",1,[1,2,number],3.45]

引用超出列表值的索引範圍將導致indexerror錯誤.

八 列表操作

列表中某個索引處的元素可以被重新分配.

例如:

nums=[7,7,7,7,7]

nums[2]=5

print(nums)

結果:

[7,7,5,7,7]

列表可以像字符串一樣添加和相乘

例如:

nums=[1,2,3]

print(nums+[4,5,6])

print(nums*3)

列表和字符串在很多方面很相似. 字符串可以被認為是 不能改變的字符列表.

要檢查項目是否在列表中,可以使用in運算符.如果項目在列表中出現一次或多次,則返回True,否則返回False.

words=["spam","egg","spam","sausage"]

print("spam" in words)

print("egg" in words)

print("tomato" in words)

結果:

True

True

False

in運算符也可以用來確定一個字符串是否是另一個字符串的子字符串.

not in運算符用來檢查項目不在列表中.

nums=[1,2,3]

print(not 4 in nums)

print(4 not in nums)

結果:

True

True

九 列表函數

使用append(附加)方法將一個元素添加到現有列表的末尾.

nums=[1,2,3]

nums.append(4)

print(nums)

結果:

[1,2,3,4]

append是列表類的一個方法.

要獲取列表中的項目數量,可以使用len函數.

nums=[1,2,3,4,5]

print(len(nums))

結果:5

與append方法不同.len是一個函數,不是一個方法,這代表著它寫在被調用的列表之前.

insert方法(在索引前插入)與append相似,不同之處在於它允許你在列表中的任何位置插入一個新元素,而不僅僅是在最後.

words=["did i say","much"]

index=1

words.insert(index,"too")

print(words)

結果:

["did i say","too","much"]

index方法找到列表項的第一個匹配項並返回它的索引.

如果該項目不在列表中,則會引發valueerror

letters=["p","q","r","s","p","u"]

print(letters.index("r"))

print(letters.index("p"))

print(letters.index("z"))

結果:

2

0

ValueError:"z" is not in list

列表還有一些很有用的功能和方法.

max(list):返回列表中的最大值.

min(list):返回列表中的最小值.

list.count(obj):返回一個元素在列表中出現的次數

list.remove(obj):從列表中刪除一個元素

list.reverse():顛倒列表中的元素.

十 範圍(range)

使用範圍函數創建一個順序的數字列表.

numbers=list(range(10))

print(numbers)

結果:

range本身會創建一個range對象,所以調用list函數將其轉換為列表.

如果使用一個參數調用range,則會生成0到該參數值之前的對象.

如果使用兩個參數調用範圍,則會從第一個值到第二個值之前的對象.

例如:

numbers=list(range(3,8))

print(numbers)

print(range(20)==range(0,20))

range可以有第三個參數,它決定了產生的序列的間隔.第三個參數必須是一個整數(浮點數形式的整數也不行).

numbers=list(range(5,20,2))

print(numbers)

結果:

十一 for循環

有時,你需要在列表中的每個項目上執行代碼.被稱為疊代.它可以用一個while循環和一個計數器變量來完成.

例如:

words=["hello","world","spam","eggs"]

counter=0

max_index=len(words)-1

while counter<=max_index:

word=words[counter]

print(word+"!")

counter+=1

結果:

hello!

world!

spam!

eggs!

for循環

使用while循環遍歷列表需要相當多的代碼,所以python提供了for循環來完成相同的事情.

words=["hello","worlds","spam","eggs"]

for word in words:

print(word+"!")

注意:這裡的word,用隨便一個變量代替都可以.

python中的for循環就像其他語言的foreach循環一樣.

for循環通常用於重複某些代碼一定次數.這通過將循環與範圍range對象結合來完成.

for i in range(5):

print("●姚貝娜")

結果:

在for循環中使用range對象時,不需要調用list,因為它沒有被索引.所以不需要列表.

聲明:文章觀點僅代表作者本人,PTTZH僅提供信息發布平台存儲空間服務。
喔!快樂的時光竟然這麼快就過⋯