一 布爾與比較
兩個布爾值: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,因為它沒有被索引.所以不需要列表.