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