上一篇文章中我們介紹了 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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

