默認(rèn)情況下,Python 源碼文件以?UTF-8?編碼,所有字符串都是 unicode 字符串,可以為Python源碼文件指定不同的編碼,如下:# -*- coding: utf-8 -*-
Python語言的標(biāo)識(shí)符規(guī)則如下:
A、第一個(gè)字符必須是字母表中字母或下劃線?。
B、標(biāo)識(shí)符的其它的部分由字母、數(shù)字和下劃線組成。
C、標(biāo)識(shí)符對(duì)大小寫敏感。
在 Python 3 中,允許非 ASCII 標(biāo)識(shí)符。
保留字即關(guān)鍵字,不能作為任何標(biāo)識(shí)符名稱。Python 的標(biāo)準(zhǔn)庫提供了一個(gè)keyword模塊,可以輸出當(dāng)前版本的所有關(guān)鍵字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>
print輸出默認(rèn)是換行的,如果要實(shí)現(xiàn)不換行需要在變量末尾加上?end=""。
#!/usr/bin/python3
print("Hello Python3")
print("Hello ", end="")
print("Python", end="3\n")
Python中單行注釋以#開頭:
#! /usr/bin/python3
# 第一個(gè)注釋
print("Hello Python3") #第二個(gè)注釋
Python3中多行注釋用三個(gè)單引號(hào)?'''?或者三個(gè)雙引號(hào)?"""?。
#!/usr/bin/python3
'''
第三注釋
第四注釋
'''
"""
第五注釋
第六注釋
"""
print("Hello Python3")
Python最具特色的就是使用縮進(jìn)來表示代碼塊,不需要使用大括號(hào)?{}?。
縮進(jìn)的空格數(shù)是可變的,但同一個(gè)代碼塊的語句必須包含相同的縮進(jìn)空格數(shù),如果縮進(jìn)不相同會(huì)導(dǎo)致運(yùn)行錯(cuò)誤。實(shí)例如下:
#!/usr/bin/python3
flag = True
if flag:
print("True")
print("true")
else:
print("False")
print("false")
print ("Hello Python3")
Python 通常是一行寫完一條語句,但如果語句很長,可以使用反斜杠()來實(shí)現(xiàn)多行語句。
#!/usr/bin/python3
item_one = 1
item_two = 2
item_three = 3
total = item_one + \
item_two + \
item_three
print(total)
在 [], {}, 或 () 中的多行語句,不需要使用反斜杠(),例如
#!/usr/bin/python3
item_one = 1
item_two = 2
item_three = 3
total = item_one + \
item_two + \
item_three
print(total)
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
print(total)
Python 中的變量不需要聲明,每個(gè)變量在使用前都必須賦值,變量賦值后才會(huì)被創(chuàng)建。
在 Python 中,變量沒有類型,類型是變量所指的內(nèi)存中對(duì)象的類型。
Python允許同時(shí)為多個(gè)變量賦值。
a = b = c = 1
a, b, c = 1, True, "hello"
x,y = 1,2
x,y = y,x
print(x,y)
Python中變量命名推薦使用匈牙利命名法則。
#!/usr/bin/python3
input("Please enter the name:\n")
上述Python代碼會(huì)等待用戶輸入,按回車鍵后退出。
Python中數(shù)字有四種類型:整數(shù)、布爾型、浮點(diǎn)數(shù)和復(fù)數(shù)。
int?(整數(shù)),只有一種整數(shù)類型int,表示為長整型。
bool?(布爾),True,F(xiàn)alse。
float?(浮點(diǎn)數(shù)),如 1.23、3E-2
complex(復(fù)數(shù)),如 1 + 2j、 1.1 + 2.2j
Python中使用單引號(hào)和雙引號(hào)創(chuàng)建字符串,使用三引號(hào)('''或""")可以創(chuàng)建一個(gè)多行字符串。
轉(zhuǎn)義符 '\'
反斜杠可以用來轉(zhuǎn)義,使用r可以讓反斜杠不發(fā)生轉(zhuǎn)義,如 r"this is a line with \n" 則\n會(huì)顯示,并不換行。
字符串可以用+運(yùn)算符連接在一起,用 * 運(yùn)算符重復(fù)。
Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
Python中的字符串不能改變。
Python沒有單獨(dú)的字符類型,一個(gè)字符就是長度為 1 的字符串。
加(+):兩對(duì)象相加
減(-):兩對(duì)象相減
乘(*):兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串
除(/):x除以y
取模(%):返回除法的余數(shù)
冪(**):返回x的y次冪
取整除(//):向下取接近除數(shù)的整數(shù)
Python3算術(shù)運(yùn)算符的示例代碼:
#!/usr/bin/python3
a = 10
b = 5
c = 0
# +
c = a + b
print("a + b = ", c)
# a + b = 15
a = "Hello"
b = "Python3"
c = a + b
print("a + b = ", c)
#a + b = HelloPython3
# -
a = 10
b = 5
c = a -b
print("a - b = ", c)
# a - b = 5
# *
a = 10
b = 3
c = a * b
print("a * b = ", c)
#a * b = 30
a = "Hello"
b = 3
c = a * b
print("a * b = ", c)
#a * b = HelloHelloHello
# /
a = 10
b = 3
c = a / b
print("a / b = ", c)
#a / b = 3.3333333333333335
# %
a = 10
b = 3
c = a % b
print("a % b = ", c)
#a % b = 1
# **
a = 2
b = 10
c = a ** b
print("a ** b = ", c)
# a ** b = 1024
# //
a = 10
b = 3
c = a // b
print("a // b = ", c)
# a // b = 3
等于(==):比較對(duì)象是否相等
不等于(!=):比較對(duì)象是否不相等
大于(>):x是否大于y
小于(<):是否x小于y
大于等于(>=):x是否大于等于y
小于等于(<=):x是否小于等于y
Python3關(guān)系運(yùn)算符的示例代碼如下:
#!/usr/bin/python3
a = 21
b = 10
c = 0
if (a == b):
print("a 等于 b")
else:
print("a 不等于 b")
if (a != b):
print("a 不等于 b")
else:
print("a 等于 b")
if (a < b):
print("a 小于 b")
else:
print("a 大于等于 b")
if (a > b):
print("a 大于 b")
else:
print("a 小于等于 b")
if (a <= b):
print("a 小于等于 b")
else:
print("a 大于 b")
if (b >= a):
print("b 大于等于 a")
else:
print("b 小于 a")
對(duì)于字符串、列表、元組的比較運(yùn)算,按照序列的元素進(jìn)行逐個(gè)比較。
a1 = "hello"
a2 = "hello"
print(a1 == a2)
b1 = [1,2,3]
b2 = [1,2,3]
print(b1 == b2)
c1 = (1,2,3)
c2 = (1,2,4)
print(c2 > c1)
賦值(=):簡單賦值運(yùn)算
加法賦值(+=):c += a等效于c = c + a
減法賦值(-=):c -= a等效于c = c - a
乘法賦值(*=):c *= a等效于c = c * a
除法賦值(/=):c /= a等效于c = c / a
取模賦值(%=):c %= a等效于c = c % a
冪賦值(**=):c **= a等效于c = c ** a
取整除賦值(//=):c //= a 等效于c = c // a
Python3賦值運(yùn)算符的示例如下:
#!/usr/bin/python3
a = 21
b = 10
c = 0
# =
c = a + b
print("c = ", c)
# c = 31
# +=
a = 10
c = 3
c += a
print("c = ", c)
# c = 13
a = 3
c = 10
# -=
c -= a
print("c = ", c)
# c = 1
# *=
a = 3
c = 5
c *= a
print("c = ", c)
# c = 15
# /=
a = 2
c = 10
c /= a
print("c = ", c)
# c = 5.0
# %=
a = 3
c = 10
c %= a
print("c = ", c)
# c = 1
# **=
a = 10
c = 2
c **= a
print("c = ", c)
# c = 1024
# //=
c = 10
a = 3
c //= a
print("c = ", c)
# c = 3
邏輯與(and):x and y,?如果 x 為 False,x and y 返回 x,否則返回 y 的值。
邏輯或(or):x or y,如果 x 是 True,返回 x 的值,否則返回 y 的值。
邏輯非(not):not x,如果 x 為True,返回False 。如果 x 為 False,返回 True。
Python3邏輯運(yùn)算符的示例如下:
#!/usr/bin/python3
x = 10
y = 5
# x and y
print(x and y) #5
print(0 and y) #0
# x or y
print(x or y) #10
print(0 or y) #5
# not x
print(not x)
print(not False)
按位與運(yùn)算符(&):參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0。
按位或運(yùn)算符(|):只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。
按位異或運(yùn)算符(^):當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1。
按位取反(~):對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?。~x等價(jià)于-(x+1)。
左移運(yùn)算符(<<):運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由"<<"右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。
右移運(yùn)算符(>>):把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移動(dòng)的位數(shù)。
Python3位運(yùn)算符的示例如下:
#!/usr/bin/python3
a = 0b00111100
b = 0b00001101
c = 0
c = a & b;
print("c 的值為:", bin(c)) # 0b1100
c = a | b;
print("c 的值為:", bin(c)) # 0b111101
c = a ^ b;
print("c 的值為:", bin(c)) # 0b110001
c = ~a;
print("c 的值為:", bin(c)) # -0b111101
c = a << 2;
print("c 的值為:", bin(c)) # 0b11110000
c = a >> 2;
print("c 的值為:", bin(c)) # 0b1111
Python支持成員運(yùn)算符,測試實(shí)例中是否包含了一系列的成員,包括字符串,列表或元組。
in:如果在指定的序列中找到值返回 True,否則返回 False。
not in:如果在指定的序列中沒有找到值返回 True,否則返回 False。
Python3成員運(yùn)算符的示例如下:
#!/usr/bin/python3
a = 1
b = 20
list = [1, 2, 3, 4, 5]
if (a in list):
print("變量a在給定的列表list中")
else:
print("變量a不在給定的列表list中")
if (b not in list):
print("變量b不在給定的列表list中")
else:
print("變量b在給定的列表list中")
Python3身份運(yùn)算符用于比較兩個(gè)對(duì)象的存儲(chǔ)單元。
is:x is y,用于判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象,如果引用的是同一個(gè)對(duì)象則返回 True,否則返回 False。
is not:x is not y,用于判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象,如果引用的不是同一個(gè)對(duì)象則返回結(jié)果 True,否則返回 False。
Python3身份運(yùn)算符的示例如下:
#!/usr/bin/python3
a = 20
b = 20
if (a is b):
print("a和b有相同的標(biāo)識(shí)")
else:
print("a和b沒有相同的標(biāo)識(shí)")
if (a is not b):
print("a和b沒有相同的標(biāo)識(shí)")
else:
print("a和b有相同的標(biāo)識(shí)")
Python中對(duì)象類型的判斷使用is×××tance方法進(jìn)行判斷。
a = "hello"
print(is×××tance(a, str))
Python運(yùn)算符的優(yōu)先級(jí)從高到低如下:
編碼過程中對(duì)于模糊不確定的優(yōu)先級(jí)建議使用加括號(hào)顯示確定。
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。
Python中if語句的一般形式如下:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
如果"condition_1"為True將執(zhí)行"statement_block_1"塊語句。
如果"condition_1"為False,將判斷"condition_2"。
如果"condition_2"為True將執(zhí)行"statement_block_2"塊語句。
如果 "condition_2" 為False,將執(zhí)行"statement_block_3"塊語句。
每個(gè)條件后使用冒號(hào)(:)表示滿足條件后要執(zhí)行的語句塊。
條件控制中使用縮進(jìn)來劃分語句塊,相同縮進(jìn)數(shù)的語句在一起組成一個(gè)語句塊。
在Python中沒有switch – case語句。
#! /usr/bin/python3
score = int(input("Please enter the score: "))
if score < 60:
print("D")
elif score < 80:
print("C")
elif score < 90:
print("B")
elif score <= 100:
print("A")
在嵌套 if 語句中,可以把 if...elif...else 結(jié)構(gòu)放在另外一個(gè) if...elif...else 結(jié)構(gòu)中。
Python中的循環(huán)語句有for和 while。Python中while語句的一般形式如下:
while 判斷條件:
語句
在Python中沒有do..while循環(huán)。
#! /usr/bin/python3
N = 100
counter = 1
n = 0
while counter <= N:
n += counter
counter += 1
print("1 到 %d 之和為: %d" % (N, n))
在 while … else 在條件語句為 false 時(shí)執(zhí)行 else 的語句塊.
#! /usr/bin/python3
count = 0
while count < 5:
print("Hello Python3")
count += 1
else:
print("Hello Go")
如果while循環(huán)體中只有一條語句,可以將該語句與while寫在同一行中, 如下所示:
#! /usr/bin/python3
flag = 1
while flag: print('Hello Python3')
print("Good bye!")
Python中for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。
for循環(huán)的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
#! /usr/bin/python3
languages = ["C", "C++", "Perl", "Python"]
for x in languages:
print(x)
for 循環(huán)中使用break語句用于跳出當(dāng)前循環(huán)體,不會(huì)正常結(jié)束for循環(huán),即不執(zhí)行else分支。
#! /usr/bin/python3
languages = ["C", "C++", "Perl", "Python"]
for x in languages:
if x == "Python":
print(x)
break
print(x)
else:
print("None")
range()內(nèi)置函數(shù)可以用于生成數(shù)列。
#! /usr/bin/python3
for x in range(5):
print(x)
# 指定區(qū)間
for x in range(5,9):
print(x)
# 指定區(qū)間和步長
for x in range(0,10,2):
print(x)
for x in range(-10,-100,-10):
print(x)
a = [1,2,3,4,5,6,7,8]
for i in range(0, len(a), 2):
print(a[i])
b = a[0:len(a):2]
print(b) # [1, 3, 5, 7]
通過seq[0:len(seq):step]可以從seq每隔step步長取一個(gè)元素構(gòu)成新的序列。
Python中pass空語句用于保持程序結(jié)構(gòu)的完整性,pass 不做任何事情,一般用做占位語句。
#! /usr/bin/python3
for x in range(5):
pass
Python不支持switch,通過使用字典可以實(shí)現(xiàn)switch,實(shí)現(xiàn)方案如下:
A、利用字典取值get方法的容錯(cuò)性,處理switch語句中的default情況。
B、設(shè)置字典的vlaue為對(duì)應(yīng)方法名,來代替switch語句中的代碼塊。
C、為不同key設(shè)置相同的value,模擬switch中穿透。
字典實(shí)現(xiàn)switch的示例如下:
#!/usr/bin/python3
def taskForRest():
print("Today is easy!")
def taskForWork():
print("Good job!")
def taskForDefault():
print("Invalid input!")
switchDic = {"Sunday":taskForRest,
"Monday":taskForWork,
"Tuesday":taskForWork,
"Wednesday":taskForWork,
"Tursday":taskForWork,
"Friday":taskForWork,
"Saturday":taskForRest
}
monday = "Monday"
switchDic.get(monday,taskForWork())
tuesday = "Tuesday"
switchDic.get(tuesday, taskForWork)()
today = "Today"
switchDic.get(today,taskForDefault())
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。