上一篇文章中我們介紹了 python 語言的幾個特點,并在最后留了一個問題,python 除了上下執行以外有沒有其他的執行方式。
今天我們就來介紹 python 中的數據類型和控制流。
數據類型
python 中包含六個標準數據類型分別為:
Number(數字)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典)。
不同的數據類型往往對應不同的用途。這個很好理解。比如你可以用一個字符串用來儲存一個人的名字。
name = "六小登登"
但是想你存一個人的信息,比如姓名,年齡,身高等。這時候你用字符串就不合適了。此時字典是合適的。
person = { name: "六小登登", age: 18, height: 180 }
字典適合存一個人的信息,那如何有很多人怎么辦?此時列表就會起到作用。
people = [{name: "二狗"},{name: "狗蛋"}]
你看就是這么簡單,什么容器裝什么類型的水。彼此相互協作。
其中它們又可分為「可變類型」和「不可變類型」:
不可變類型 3 種:Number、String、Tuple。
可變類型 3 種:List、Set、Dictionary。
可變類型與不可變類型的區別就是一個值是可以改變的,一個是不可以改變的。 有的人可能就會疑惑,不對呀登哥,我明明聲明了一個變量 age = 18,然后在后面把它改成 age = 20是已經修改的呀,怎么會是不可變的呢。
其實在計算機的內容空間中,變量和值是分開的,而變量只是保存了一個值的引用而已,而引用指向值。
如果你修改的不可變量類型的值,它會重新創建一個新的值,然后把這個變量指向這個值。比如:
age = 18 id(age) 4478947024 //引用 age = 20 id(age) 4478947088 //引用
所以你會發現當你修改不可變類型的值后,它引用是不同的。而可變類型的引用卻是相同的。
list = [1,2] id(list) 4481387656 //此時的引用 list[0]=2 print(list) [2, 2] id(list) 4481387656 //修改后的引用,依然相同
控制流
上篇文章中我們說了,程序默認是「上下執行」的,但是如果遇到一些特殊的情況怎么應對呢?此時就要說到 python 中的控制流了。
控制流有三種方式:
- 順序執行:就是我們說的上下執行
- 選擇執行:就是條件判斷,通過 if...else語句選擇不同的代碼塊執行。
- 循環執行:就是反復執行一段代碼,通過 for,while。
條件判斷
if age>19: print("111") else: print("222")
上面代碼中就會根據 age 的不同去執行不同的代碼。當然如果你有多種條件,你可以使用elif。
if age < 8: print("兒童") elif age < 18: print("少年") else: print("青年")
除此之外你還可以進行「if嵌套」:
if age<8: if height>100: print("1") else: print("2") else: print("3")
循環語句
Python中的循環語句有 for 和 while 兩種。
1.while語法:
while 判斷條件: 語句
例子:
a = 1 while a<10: print(a)
使用 while 時一定要注意判斷條件,如果條件一直為真值,就會「無限循環」。
a = 1 while a: print(a)
此時程序就會一直執行下去,不會結束。此外我們還可以使用 while...else語句執行判斷條件為 false時的情況。
a = 1 while a < 10: print(a) a += 1 else: print('大于10')
2.for語法:
for 循環它會遍歷序列中的每一個項目
for i in range(1, 5): print(i) else: print('結束') list = [1,2,3,4] for temp in list: print(temp)
break 和 continue
循環語句我們已經了解了,但是好像少點什么,比如我不想循環了怎么辦?我想在滿足一個條件之后把循環結束怎么辦?緊緊只是掌握上面的知識顯然我們無法做到。這時候就需要用到 break 和 continue了。
- break語句:可以跳出 for 和 while 的循環體。后續代碼將不會再執行。
- continue語句:僅跳過當前循環,然后繼續進行下一輪循環。
list = [1, 2, 3, 4] for item in list: if item == 2: break print(item)
此時代碼只會執行一次,當等于 2 時就會結束整個循環。
list = [1, 2, 3, 4] for item in list: if item == 2: continue print(item)
你會發現此時代碼只有在等于 2 時不執行,其他都會執行。
練習打印 99乘法表
i = 1 while i<10: j =1 while j<=i: print("%s*%s=%s" % (j,i, i*j), end=" ") j+=1 print("") i+=1
效果如下。
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
