「手把手教python3接口自動化」「第三章」:Python3 語法

1 Python3 語法

1.1 基礎語法

【編碼】

默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼。

【標識符】

1. 第一個字符必須是字母表中字母或下劃線 _ 。

2. 標識符的其他的部分由字母、數字和下劃線組成。

3. 標識符對大小寫敏感。

備註:在 Python 3 中,非 ASCII 標識符也是允許的。

【單行註釋】

Python中單行註釋以 # 開頭,實例如下:

# 第一個註釋

print ("Hello, Python!") # 第二個註釋

「手把手教python3接口自動化」「第三章」:Python3 語法

運行的結果:

Hello, Python!

【多行註釋】

多行註釋可以用多個 # 號,還有 ''' 和 """,實例如下:

# Python3學習

# 第三章

'''

本章學習Python的語法

'''

"""

本節課學習基礎的語法:多行註釋

"""

print ("I Like Python!...come on")

「手把手教python3接口自動化」「第三章」:Python3 語法

運行結果:

I Like Python!...come on

【等待用戶輸入】

執行下面的程序在按回車鍵後就會等待用戶輸入:

例子:

i=input("請輸入i的值:")

print(i)

「手把手教python3接口自動化」「第三章」:Python3 語法

【行與縮進】

行與縮進

python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {} 。

縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數。實例如下:

例子一:

i=input("請輸入i的值:")

i=int(i)

if i > 9:

print("True")

else:

print("False")

「手把手教python3接口自動化」「第三章」:Python3 語法

例子二:

「手把手教python3接口自動化」「第三章」:Python3 語法

【數字(Number)類型】

python中數字有四種類型:整數、布爾型、浮點數和複數。

1. int (整數), 如 1, 只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。

2. bool (布爾), 如 True。

3. float (浮點數), 如 1.23、3E-2

4. complex (複數), 如 1 + 2j、 1.1 + 2.2j

【字符串(String)】

.python中單引號和雙引號使用完全相同。

.使用三引號('''或""")可以指定一個多行字符串。

.轉義符 '\\'

.反斜槓可以用來轉義,使用r可以讓反斜槓不發生轉義。。 如 r"this is a line with \\n" 則\\n會顯示,並不是換行。

.按字面意義級聯字符串,如"this " "is " "string"會被自動轉換為this is string。

.字符串可以用 + 運算符連接在一起,用 * 運算符重複。

.Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。

.Python中的字符串不能改變。

.Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。

.字符串的截取的語法格式如下:變量[頭下標:尾下標]

例子:

word = '字符串'

sentence = "這是一個句子。"

paragraph = """這是一個段落,

可以由多行組成"""

【import 與 from...import】

在 python 用 import 或者 from...import 來導入相應的模塊。

將整個模塊(somemodule)導入,格式為: import somemodule

從某個模塊中導入某個函數,格式為: from somemodule import somefunction

從某個模塊中導入多個函數,格式為: from somemodule import firstfunc, secondfunc, thirdfunc

將某個模塊中的全部函數導入,格式為: from somemodule import *

【格式化輸出】

最常用的格式化輸出是字數的字符串,分別用(%d和%s)

例子:

name = input("Name=:")

age = int(input("Age=:"))

job = input("Job=:")

msn='''

----info------

Name: %s

Age: %d

Job: %s

you will be retired in %s years

'''%(name,age,job,65-age)

print(msn)

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

1.2 運算符

什麼是運算符?

舉個簡單的例子 2 +3 = 5 。 例子中,2 和 3 被稱為操作數,"+" 稱為運算符。

下面介紹幾種類型的運算符:

1.算術運算符

2.比較(關係)運算符

3.賦值運算符

4.邏輯運算符

5.運算符優先級

接下來讓我們一個個來學習Python的運算符。

1.2.1 Python算術運算符

以下假設變量a為10,變量b為21:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子:

a = 21

b = 10

c = 0

c = a + b

print ("1 - c 的值為:", c)

c = a - b

print ("2 - c 的值為:", c)

c = a * b

print ("3 - c 的值為:", c)

c = a / b

print ("4 - c 的值為:", c)

c = a % b

print ("5 - c 的值為:", c)

# 修改變量 a 、b 、c

a = 2

b = 3

c = a**b

print ("6 - c 的值為:", c)

a = 10

b = 5

c = a//b

print ("7 - c 的值為:", c)

「手把手教python3接口自動化」「第三章」:Python3 語法

運行結果:

1 - c 的值為: 31

2 - c 的值為: 11

3 - c 的值為: 210

4 - c 的值為: 2.1

5 - c 的值為: 1

6 - c 的值為: 8

7 - c 的值為: 2

3.2.2 Python比較運算符

以下假設變量a為10,變量b為20:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子:

a = 21

b = 10

c = 0

if ( a == b ):

print ("1 - a 等於 b")

else:

print ("1 - a 不等於 b")

if ( a != b ):

print ("2 - a 不等於 b")

else:

print ("2 - a 等於 b")

if ( a < b ):

print ("3 - a 小於 b")

else:

print ("3 - a 大於等於 b")

if ( a > b ):

print ("4 - a 大於 b")

else:

print ("4 - a 小於等於 b")

# 修改變量 a 和 b 的值

a = 5;

b = 20;

if ( a <= b ):

print ("5 - a 小於等於 b")

else:

print ("5 - a 大於 b")

if ( b >= a ):

print ("6 - b 大於等於 a")

else:

print ("6 - b 小於 a")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.2.3 Python賦值運算符

以下假設變量a為10,變量b為20:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子:

a = 21

b = 10

c = 0

c = a + b

print ("1 - c 的值為:", c)

c += a

print ("2 - c 的值為:", c)

c *= a

print ("3 - c 的值為:", c)

c /= a

print ("4 - c 的值為:", c)

c = 2

c %= a

print ("5 - c 的值為:", c)

c **= a

print ("6 - c 的值為:", c)

c //= a

print ("7 - c 的值為:", c)

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.2.4 Python邏輯運算符

Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子:

a = 10

b = 20

if ( a and b ):

print ("1 - 變量 a 和 b 都為 true")

else:

print ("1 - 變量 a 和 b 有一個不為 true")

if ( a or b ):

print ("2 - 變量 a 和 b 都為 true,或其中一個變量為 true")

else:

print ("2 - 變量 a 和 b 都不為 true")

# 修改變量 a 的值

a = 0

if ( a and b ):

print ("3 - 變量 a 和 b 都為 true")

else:

print ("3 - 變量 a 和 b 有一個不為 true")

if ( a or b ):

print ("4 - 變量 a 和 b 都為 true,或其中一個變量為 true")

else:

print ("4 - 變量 a 和 b 都不為 true")

if not( a and b ):

print ("5 - 變量 a 和 b 都為 false,或其中一個變量為 false")

else:

print ("5 - 變量 a 和 b 都為 true")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.2.5 Python運算符優先級

以下表格列出了從最高到最低優先級的所有運算符:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子:

a = 20

b = 10

c = 15

d = 5

e = 0

e = (a + b) * c / d #( 30 * 15 ) / 5

print ("(a + b) * c / d 運算結果為:", e)

e = ((a + b) * c) / d # (30 * 15 ) / 5

print ("((a + b) * c) / d 運算結果為:", e)

e = (a + b) * (c / d); # (30) * (15/5)

print ("(a + b) * (c / d) 運算結果為:", e)

e = a + (b * c) / d; # 20 + (150/5)

print ("a + (b * c) / d 運算結果為:", e)

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

1.3 條件控制語句

Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。

可以通過下圖來簡單瞭解條件語句的執行過程:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.3.1 if 語句

Python中if語句的一般形式如下所示:

if condition_1:

statement_block_1

elif condition_2:

statement_block_2

else:

statement_block_3

如果 "condition_1" 為 True 將執行 "statement_block_1" 塊語句

如果 "condition_1" 為False,將判斷 "condition_2"

如果"condition_2" 為 True 將執行 "statement_block_2" 塊語句

如果 "condition_2" 為False,將執行"statement_block_3"塊語句

Python 中用 elif 代替了 else if,所以if語句的關鍵字為:if – elif – else。

注意:

1、每個條件後面要使用冒號 :,表示接下來是滿足條件後要執行的語句塊。

2、使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。

3、在Python中沒有switch – case語句。

例子一:

var1 = 100

if var1:

print ("1 - if 表達式條件為 true")

print (var1)

var2 = 0

if var2:

print ("2 - if 表達式條件為 true")

print (var2)

print ("Good bye!")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

從結果可以看到由於變量 var2 為 0,所以對應的 if 內的語句沒有執行。

例子二:

age = int(input("請輸入你家狗狗的年齡: "))

print("")

if age < 0:

print("你是在逗我吧!")

elif age == 1:

print("相當於 14 歲的人。")

elif age == 2:

print("相當於 22 歲的人。")

elif age > 2:

human = 22 + (age -2)*5

print("對應人類年齡: ", human)

### 退出提示

input("點擊 enter 鍵退出")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子三

例子需求:

輸入一個測驗成績評定A-F

A:90-100

B:80-89

C:70-79

D:60-69

F:<60

程序實現:

score = int(input('請輸入你的分數:'))

if 90 < score <= 100:

print('A')

elif score > 80:

print('B')

elif score > 70:

print('C')

elif score > 60:

print('D')

else:

print('F')

「手把手教python3接口自動化」「第三章」:Python3 語法

3.3.2 if中常用的操作運算符

以下為if中常用的操作運算符:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子:== 操作符

print(5 == 6)

# 使用變量

x = 5

y = 8

print(x == y)

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子二:數字的比較運算

# 數字猜謎遊戲

number = 7

guess = -1

print("數字猜謎遊戲!")

while guess != number:

guess = int(input("請輸入你猜的數字:"))

if guess == number:

print("恭喜,你猜對了!")

elif guess < number:

print("猜的數字小了...")

elif guess > number:

print("猜的數字大了...")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.3.3 if嵌套

在嵌套 if 語句中,可以把 if...elif...else 結構放在另外一個 if...elif...else 結構中。

if 表達式1:

語句

if 表達式2:

語句

elif 表達式3:

語句

else:

語句

elif 表達式4:

語句

else:

語句

例子:求3個數的最大數

x=int(input("請輸入第一個數:"))

y=int(input("請輸入第二個數:"))

z=int(input("請輸入第三個數:"))

if x>y:

if x>z:

print('x是最大值:%d'%x)

else:

print('z是最大值:%d'%z)

elif x>z:

if x>y:

print('x是最大值:%d'%x)

else:

print('y是最大值:%d'%y)

else:

if y>z:

print('y是最大值:%d'%y)

else:

print('z是最大值:%d'%z)

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

1.4 循環語句

Python中的循環語句有 for 和 while。

Python循環語句的控制結構圖如下所示:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.1 while 循環

while 判斷條件:

語句

例子一:輸出1-10之間所有的偶數

num=10

count=0

while num>0 :

if num%2==0 :

print(num)

count +=1

num -=1

print("有",count,"個偶數!")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

例子二:九九乘法表

a=1

while a<10 :

b=1

while b<=a :

print(str(b)+"x"+str(a)+"="+str(a*b),end="\\t")

b +=1

print()

a +=1

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.2 無限循環

有時需要程序一直在跑,就需要構造一個無限循環

例子:

var = 1

while var == 1 : # 表達式永遠為 true

num = int(input("輸入一個數字 :"))

print ("你輸入的數字是: ", num)

print ("Good bye!")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

你可以使用 CTRL+C 來退出當前的無限循環。

無限循環在服務器上客戶端的實時請求非常有用。

3.4.3 while 循環使用 else 語句

在 while … else 在條件語句為 false 時執行 else 的語句塊:

count = 0

while count < 5:

print (count, " 小於 5")

count = count + 1

else:

print (count, " 大於或等於 5")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.4 for語句

Python for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。

for循環的一般格式如下:

for <variable> in <sequence>:/<sequence>/<variable>

<statements>

else:

<statements>

例子一:一個登錄程序

_user="xiao"

_password="abc123"

username=input("Username:")

password=input("Password:")

if username ==_user and password ==_password:

print("welcone %s login..."%_user)

else:

print("用戶名錯誤或者密碼錯誤")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.5 range()函數

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

例子一:遍歷數字序列

for i in range(5):

print(i)

「手把手教python3接口自動化」「第三章」:Python3 語法

例子二:使用range指定區間的值

for i in range(5,9) :

print(i)

「手把手教python3接口自動化」「第三章」:Python3 語法

例子三:結合range()和len()函數以遍歷一個序列的索引

a = ['Python', 'c++', 'selenium3', 'appium', 'php']

for i in range(len(a)):

print(i, a[i])

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.6 break語句

break 語句可以跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行。

例子:

for letter in 'Runoob': # 第一個實例

if letter == 'b':

break

print ('當前字母為 :', letter)

var = 10 # 第二個實例

while var > 0:

print ('當期變量值為 :', var)

var = var -1

if var == 5:

break

print ("Good bye!")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.7 continue語句

continue語句被用來告訴Python跳過當前循環塊中的剩餘語句,然後繼續進行下一輪循環。

例子:

for letter in 'Runoob': # 第一個實例

if letter == 'o': # 字母為 o 時跳過輸出

continue

print ('當前字母 :', letter)

var = 10 # 第二個實例

while var > 0:

var = var -1

if var == 5: # 變量為 5 時跳過輸出

continue

print ('當前變量值 :', var)

print ("Good bye!")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.8 pass 語句

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

pass 不做任何事情,一般用做佔位語句。

例子:

while True:

pass

3.4.9 標誌位

user="xiao"

password="abc123"

passed_authentication = False # 假,不成立 flag=標誌位

for i in range(1,5):

username=input("Username:")

password=input("Password:")

if username ==user and password ==password :

print("welcone %s login..."%user)

passed_authentication = True

break

else:

print("用戶名錯誤或者密碼錯誤")

if not passed_authentication :

print("輸錯超過次數")

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法

3.4.10 while嵌套

While循環也是可以多重嵌套的。

例子:使用#號輸出一個長方形,用戶指定寬和高,如果長為3個#,高為4個#,則輸出一個橫著3個#,高有4個#的長方形。

程序實現:

a=0

while a<=3:

b=0

while b<=2:

print("#",end="")

b+=1

a+=1

print()

運行結果:

「手把手教python3接口自動化」「第三章」:Python3 語法


分享到:


相關文章: