溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中數(shù)據(jù)類型和控制流的示例分析

發(fā)布時(shí)間:2021-08-25 09:11:58 來源:億速云 閱讀:150 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)python中數(shù)據(jù)類型和控制流的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

數(shù)據(jù)類型

python 中包含六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型分別為:

Number(數(shù)字)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典)。

不同的數(shù)據(jù)類型往往對應(yīng)不同的用途。這個(gè)很好理解。比如你可以用一個(gè)字符串用來儲存一個(gè)人的名字。

name = "六小登登"

但是想你存一個(gè)人的信息,比如姓名,年齡,身高等。這時(shí)候你用字符串就不合適了。此時(shí)字典是合適的。

person = {
  name: "六小登登",
  age: 18,
  height: 180
}

字典適合存一個(gè)人的信息,那如何有很多人怎么辦?此時(shí)列表就會起到作用。

people = [{name: "二狗"},{name: "狗蛋"}]

你看就是這么簡單,什么容器裝什么類型的水。彼此相互協(xié)作。

其中它們又可分為「可變類型」和「不可變類型」:

不可變類型 3 種:Number、String、Tuple。
可變類型 3 種:List、Set、Dictionary。

可變類型與不可變類型的區(qū)別就是一個(gè)值是可以改變的,一個(gè)是不可以改變的。有的人可能就會疑惑,不對呀登哥,我明明聲明了一個(gè)變量 age = 18,然后在后面把它改成 age = 20是已經(jīng)修改的呀,怎么會是不可變的呢。

其實(shí)在計(jì)算機(jī)的內(nèi)容空間中,變量和值是分開的,而變量只是保存了一個(gè)值的引用而已,而引用指向值。

如果你修改的不可變量類型的值,它會重新創(chuàng)建一個(gè)新的值,然后把這個(gè)變量指向這個(gè)值。比如:

age = 18
id(age)
4478947024 //引用
age = 20
id(age)
4478947088 //引用

所以你會發(fā)現(xiàn)當(dāng)你修改不可變類型的值后,它引用是不同的。而可變類型的引用卻是相同的。

list = [1,2]
id(list)
4481387656 //此時(shí)的引用
list[0]=2
print(list)
[2, 2]
id(list)
4481387656 //修改后的引用,依然相同

控制流

上篇文章中我們說了,程序默認(rèn)是「上下執(zhí)行」的,但是如果遇到一些特殊的情況怎么應(yīng)對呢?此時(shí)就要說到 python 中的控制流了。

控制流有三種方式:

  • 順序執(zhí)行:就是我們說的上下執(zhí)行

  • 選擇執(zhí)行:就是條件判斷,通過 if...else語句選擇不同的代碼塊執(zhí)行。

  • 循環(huán)執(zhí)行:就是反復(fù)執(zhí)行一段代碼,通過 for,while。

條件判斷

if age>19:
  print("111")
else:
  print("222")

上面代碼中就會根據(jù) age 的不同去執(zhí)行不同的代碼。當(dāng)然如果你有多種條件,你可以使用elif。

if age < 8:
  print("兒童")
elif age < 18:
  print("少年")
else:
  print("青年")

除此之外你還可以進(jìn)行「if嵌套」:

if age<8:
  if height>100:
    print("1")
  else: 
    print("2")
else:
  print("3")

循環(huán)語句

Python中的循環(huán)語句有 for 和 while 兩種。

1.while語法:

while 判斷條件:
  語句

例子:

a = 1
while a<10:
  print(a)

使用 while 時(shí)一定要注意判斷條件,如果條件一直為真值,就會「無限循環(huán)」。

a = 1
while a:
 print(a)

此時(shí)程序就會一直執(zhí)行下去,不會結(jié)束。此外我們還可以使用 while...else語句執(zhí)行判斷條件為 false時(shí)的情況。

a = 1
while a < 10:
  print(a)
  a += 1
else:
  print('大于10')

2.for語法:

for 循環(huán)它會遍歷序列中的每一個(gè)項(xiàng)目

for i in range(1, 5):
  print(i)
else:
  print('結(jié)束')
 
list = [1,2,3,4]
for temp in list:
  print(temp)

break 和 continue

循環(huán)語句我們已經(jīng)了解了,但是好像少點(diǎn)什么,比如我不想循環(huán)了怎么辦?我想在滿足一個(gè)條件之后把循環(huán)結(jié)束怎么辦?緊緊只是掌握上面的知識顯然我們無法做到。這時(shí)候就需要用到 break 和 continue了。

  • break語句:可以跳出 for 和 while 的循環(huán)體。后續(xù)代碼將不會再執(zhí)行。

  • continue語句:僅跳過當(dāng)前循環(huán),然后繼續(xù)進(jìn)行下一輪循環(huán)。

list = [1, 2, 3, 4]
for item in list:
  if item == 2:
    break
  print(item)

此時(shí)代碼只會執(zhí)行一次,當(dāng)?shù)扔?2 時(shí)就會結(jié)束整個(gè)循環(huán)。

list = [1, 2, 3, 4]
for item in list:
  if item == 2:
    continue
  print(item)

你會發(fā)現(xiàn)此時(shí)代碼只有在等于 2 時(shí)不執(zhí)行,其他都會執(zhí)行。

練習(xí)打印 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

關(guān)于“python中數(shù)據(jù)類型和控制流的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI