這部分主要是對(duì)Python3的基礎(chǔ)進(jìn)行說(shuō)明药有。包括一些python3的運(yùn)算符、表達(dá)式、控制流和循環(huán)炮沐、列表等。
來(lái)源:實(shí)驗(yàn)樓Python3簡(jiǎn)明教程
- print()
print()除了打印你提供的字符串之外回怜,還會(huì)打印一個(gè)換行符大年,所以每調(diào)用一次 print() 就會(huì)換一次行,可以通過(guò) print() 的另一個(gè)參數(shù) end 來(lái)替換這個(gè)換行符
此外玉雾,字符串若是乘上整數(shù) n翔试,將返回由 n 個(gè)此字符串拼接起來(lái)的新字符串
>>> 's' * 10
'ssssssssss'
>>> print("*" * 10)
**********
>>> print("#" * 20)
####################
>>> print("--" * 20)
----------------------------------------
>>> print("-" * 40)
----------------------------------------
- / 除法運(yùn)算
- // 整除
- % 求余
-
divmod(num1, num2)
返回一個(gè)元組,第一個(gè)是 num1 和 num2 相整除得到的值复旬,第二個(gè)是 num1 和 num2 求余得到的值垦缅。用 * 運(yùn)算符拆封這個(gè)元組,可以得到這兩個(gè)值驹碍。*divmod(num1, num2)
- 關(guān)系運(yùn)算符
關(guān)系運(yùn)算符.png
- 邏輯運(yùn)算符 and壁涎、or凡恍、not
邏輯運(yùn)算符 and 和 or 也稱作短路運(yùn)算符:它們的參數(shù)從左向右解析,一旦結(jié)果可以確定就停止怔球。例如嚼酝,如果 A 和 C 為真而 B 為假,A and B and C 不會(huì)解析 C 庞溜。作用于一個(gè)普通的非邏輯值時(shí)革半,短路運(yùn)算符的返回值通常是能夠最先確定結(jié)果的那個(gè)操作數(shù)碑定。
>>> 5 and 4
4
>>> 0 and 4
0
>>> False or 3 or 0
3
>>> 2 > 1 and not 3 > 5 or 4
True
- 簡(jiǎn)寫運(yùn)算符 +=流码、*=、-=延刘、/=
x op= expression 為簡(jiǎn)寫運(yùn)算的語(yǔ)法形式漫试。其等價(jià)于 x = x op expression - 類型轉(zhuǎn)換
類型轉(zhuǎn)換函數(shù).png
- If-else
if expression:
do this
else:
do this
########### elif是else if的縮寫 ###########
if expression:
do this
elif expression:
do this
else:
do this
- while循環(huán)
while condition:
statement1
statement2
while condition:
statement3
- for循環(huán)
Python 里的 for 循環(huán)與 C 語(yǔ)言中的不同。這里的 for 循環(huán)遍歷任何序列(比如列表和字符串)中的每一個(gè)元素碘赖。
>>> a = ['ShiYanLou', 'is', 'powerful']
>>> for x in a:
print(x)
ShiYanLou
is
powerful
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> for x in a[::2]:
... print(x)
1
3
5
7
9
- range()函數(shù)
內(nèi)置函數(shù) range()它生成一個(gè)等差數(shù)列(并不是列表)驾荣。
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
>>> range(1, 5)
range(1, 5)
>>> list(range(1, 5))
[1, 2, 3, 4]
>>> list(range(1, 15, 3))
[1, 4, 7, 10, 13]
>>> list(range(4, 15, 2))
[4, 6, 8, 10, 12, 14]
- 列表,它可以寫作中括號(hào)之間的一列逗號(hào)分隔的值普泡,而且列表的元素不必是同一類型播掷,且可以使用負(fù)數(shù)索引
>>> a = [ 1, 342, 223, 'India', 'Fedora']
>>> a
[1, 342, 223, 'India', 'Fedora']
>>> a[-1]
'Fedora'
- 切片操作
可將上述列表進(jìn)行切片操作,切片操作返回其子列表撼班。
切片的索引有非常有用的默認(rèn)值歧匈;省略的第一個(gè)索引默認(rèn)為零,省略的第二個(gè)索引默認(rèn)為切片的字符串的大小砰嘁。
對(duì)于非負(fù)索引件炉,如果上下都在邊界內(nèi),切片長(zhǎng)度就是兩個(gè)索引之差矮湘。
>>> a[2:-2]
[223]
>>> a[:]
[1, 342, 223, 'India', 'Fedora']
>>> a[:-2]
[1, 342, 223]
>>> a[-2:]
['India', 'Fedora']
####切片的工作方式如下所示####
+---+-----+-----+---------+----------+
| 1 | 342 | 223 | 'India' | 'Fedora' |
+---+-----+-----+---------+----------+
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
# Python 能夠優(yōu)雅地處理那些沒(méi)有意義的切片索引:
# 一個(gè)過(guò)大的索引值(即大于列表實(shí)際長(zhǎng)度)將被列表實(shí)際長(zhǎng)度所代替斟冕,
# 當(dāng)上邊界比下邊界大時(shí)(即切片左值大于右值)就返回空列表
>>> a[2:32]
[223, 'India', 'Fedora']
>>> a[32:]
[]
# 切片操作還可以設(shè)置步長(zhǎng),它的意思是缅阳,從切片索引 1 到列表末尾磕蛇,每隔兩個(gè)元素取值。
>>> a[1::2]
[342, 'India']
# 列表也支持連接這樣的操作十办,它返回一個(gè)新的列表
>>> a + [36, 49, 64, 81, 100]
[1, 342, 223, 'India', 'Fedora', 36, 49, 64, 81, 100]
# 列表允許修改元素
>>> cubes = [1, 8, 27, 65, 125]
>>> cubes[3] = 64
>>> cubes
[1, 8, 27, 64, 125]
# 可以對(duì)切片賦值秀撇,此操作可以改變列表的尺寸,或清空它
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # 替換某些值
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # 現(xiàn)在移除他們
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 通過(guò)替換所有元素為空列表來(lái)清空這個(gè)列表
>>> letters[:] = []
>>> letters
[]
# 注:切片操作不改變列表i俣础0仆唷!這里并不算真正的切片操作炸枣,
# 只是上面代碼中賦值運(yùn)算符左邊的這種操作與切片操作形式一樣而已虏等。
# 要檢查某個(gè)值是否存在于列表中弄唧,可以這樣做
>>> a = ['ShiYanLou', 'is', 'cool']
>>> 'cool' in a
True
>>> 'Linux' in a
False
# 如果你想要檢查列表是否為空
if a: # 列表不為空
pass
else: # 列表為空
pass
# 列表是允許嵌套的