python语言三大基本控制结构_Python基础(4) 控制结构
三種控制流語(yǔ)句:if、for、while,Python用縮進(jìn)表明成塊的代碼,以四個(gè)空格表示隸屬關(guān)系,所以語(yǔ)句不能隨意縮進(jìn)。
1 條件語(yǔ)句
(1)簡(jiǎn)單的if語(yǔ)句
a = 10
if a > 0: #末尾帶“:”
print('這是一個(gè)整數(shù)') #四個(gè)空格縮進(jìn)表示隸屬關(guān)系
(2)if...else:二選一,適用于“非黑即白”的判斷,只有一個(gè)輸出
person = [1, 0] #0-男性 1-女性
if person[0] ==0:print('這是男性!')else:print('這是女性!')
(3)if...elif...else:多選一,多個(gè)條件相互獨(dú)立,只有一個(gè)輸出
a, b = 10, 5
if a < b: #首次判斷不滿足,跳過(guò)
print('a 小于 b')elif a == b: #再次判斷不滿足,跳過(guò)
print('a 等于 b')else: #因比較只有:大于、等于、小于三種情況,排除兩種后只剩大于,直接輸出
print('a 大于 b') #a 大于 b
(4)if的嵌套使用:多用于數(shù)值/多條件判斷,可有多個(gè)輸出
a = input('a:')
b= input('b:')
c= input('c:')if a >b:print(a, '大于', b)if a >c:print(a, '大于', c)else:print(a, '小于', c)
2 循環(huán)語(yǔ)句
在符合條件的情況下,重復(fù)執(zhí)行一段代碼。
2.1 while循環(huán)
(1)簡(jiǎn)單while循環(huán):單線重復(fù)
a =0while a < 100:
a+= 1 #改變循環(huán)條件
print(a)
(2)嵌套while循環(huán):多線重復(fù),常用于行列輸出
i =0while i < 5: #縱向打印
m =0while m < i: #橫向打印
print('*', end=' ')
m+= 1 #改變循環(huán)條件
i += 1 #改變循環(huán)條件
print( )#*#* *#* * *#* * * *
(3)while...else...類(lèi)似與if...else...實(shí)際很少用,了解即可
2.2 for循環(huán)
可以循環(huán)遍歷任何序列項(xiàng)目,如列表或字符串(字典只能遍歷keys),不需要判斷條件,遍歷完序列中的項(xiàng)目即結(jié)束
a = [4, 3, 8, 9, 6, 1]for i in a: #打印列表元素
print(i)
注意與while循環(huán)的區(qū)別
i =0while i < len(a): #必須定義并改變循環(huán)條件
print(a[i]) #通過(guò)索引下標(biāo)輸出
i += 1
因?yàn)榈?#xff08;循環(huán))某范圍的數(shù)字非常常見(jiàn),所以有個(gè)內(nèi)建的范圍函數(shù)range( )
for i in range(10):print(i)
輕量級(jí)循環(huán)(列表生成式):通過(guò)簡(jiǎn)單語(yǔ)句實(shí)現(xiàn)
print([x*x for x in range(10)]) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2.3 相關(guān)函數(shù)
(1)enumerater( ):每次循環(huán)中同時(shí)得到下標(biāo)和元素
animal = ['Duck', 'Cat', 'Chicken', 'Dog', 'Bird']for index, num inenumerate(animal):print(index)print(num)#0#Duck#1#Cat#2#Chicken#3#Dog#4#Bird
(2)zip( ):實(shí)現(xiàn)每次循環(huán)時(shí)從多個(gè)等長(zhǎng)序列中同時(shí)取出一個(gè)元素
ta = [1, 2, 3]
tb= [7, 8, 9]
tc= ['a', 'b', 'c']for a, b, c inzip(ta, tb, tc):print(a, b, c)#1 7 a#2 8 b#3 9 c
2.4 中斷循環(huán)
(1)break:退出循環(huán)
(2)continue:退出本次循環(huán),直至不滿足遍歷條件終止循環(huán)
name = input('請(qǐng)輸入犯人名字:')
person= ['Jack', 'Tom', 'John', 'Susan']for se inperson:if se ==name:print('嫌疑人是:%s' %se)break #退出整個(gè)循環(huán),不會(huì)輸出“end”
#continue
print(se)'''break:運(yùn)行至找到犯人為止,退出整個(gè)循環(huán)
請(qǐng)輸入犯人名字:Tom
嫌疑人是:Tom
Tom
continue:找到后退出當(dāng)前循環(huán),從下次繼續(xù)執(zhí)行整個(gè)循環(huán)直至不滿足循環(huán)條件
請(qǐng)輸入犯人名字:Tom
嫌疑人是:Tom
Susan'''
3 深拷貝與淺拷貝
3.1 術(shù)語(yǔ)解釋
(1)變量:是一個(gè)系統(tǒng)表的元素,擁有指向?qū)ο蟮倪B接空間
(2)對(duì)象:被分配的一塊內(nèi)存,存儲(chǔ)其所代表的值
(3)引用:是自動(dòng)形成的從變量到對(duì)象的指針
注意:類(lèi)型(int類(lèi)型,long類(lèi)型(Python3已去除long類(lèi)型,只剩下int類(lèi)型的數(shù)據(jù)))屬于對(duì)象,不是變量
3.2 拷貝方法
在Python中對(duì)象的賦值其實(shí)就是對(duì)象的引用。當(dāng)創(chuàng)建一個(gè)對(duì)象,把它賦值給另一個(gè)變量的時(shí)候,Python并沒(méi)有拷貝這個(gè)對(duì)象,只是拷貝了這個(gè)對(duì)象的引用而已。
3.2.1 直接賦值
默認(rèn)淺拷貝傳遞對(duì)象的引用而已,原始列表改變,被賦值的b也會(huì)做相同的改變。
alist = [1, 2, 3, ['a', 'b']]
b=alistprint(b) #[1, 2, 3, ['a', 'b']]
alist.append(5)print(alist) #[1, 2, 3, ['a', 'b'], 5]
print(b) #[1, 2, 3, ['a', 'b'], 5]
3.2.2 淺拷貝 copy.copy( )
拷貝了最外圍的對(duì)象本身,內(nèi)部的元素都只是拷貝了一個(gè)引用而已。也就是,把對(duì)象復(fù)制一遍,但是該對(duì)象中引用的其他對(duì)象我不復(fù)制。
importcopy
c=copy.copy(alist)print(c) #[1, 2, 3, ['a', 'b']]
alist.append(5)print(alist) #[1, 2, 3, ['a', 'b'], 5]
print(c) #[1, 2, 3, ['a', 'b'], 5]
3.2.3 深拷貝 copy.deepcopy( )
外圍和內(nèi)部元素都進(jìn)行了拷貝對(duì)象本身,而不是引用。也就是,把對(duì)象復(fù)制一遍,并且該對(duì)象中引用的其他對(duì)象我也復(fù)制。
d =copy.deepcopy(alist)print(d) #[1, 2, 3, ['a', 'b']]
alist.append(5)print(alist) #[1, 2, 3, ['a', 'b'], 5]
print(d) #[1, 2, 3, ['a', 'b']]
總結(jié)
以上是生活随笔為你收集整理的python语言三大基本控制结构_Python基础(4) 控制结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mips j指令_计算机组成原理 指令
- 下一篇: websocket python爬虫_p