91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

python 可變數據類型和不可變數據類型

發布時間:2020-03-06 12:59:51 來源:網絡 閱讀:372 作者:qq5d6f345f0205e 欄目:編程語言

python數據類型分別有整數int / 浮點數float / 布爾值bool / 元組tuple / 列表list / 字典dict,其中數據類型分為兩個大類,一種是可變數據類型;一種是不可變數據類型,兩者有什么區別呢?

?

python 可變數據類型和不可變數據類型

?

一.關于內存

在講解python可變數據類型和不可變數據類型之前需要先普及一下內存相關的簡單知識!

在python編程的時候,代碼中的變量實際上都是存儲在計算機內存中,當然這里指的內存在計算機中是虛擬的,你看不見摸不著!每一個內存都有一個對應的內存地址,講到這里需要再次介紹一個python內置函數id(),該函數可以用于獲取內存地址!獲取內存地址方法如下:

1

2

3

4

5

6

if __name__ == "__main__":

?

????a = 10

????b = 20

????print("a的數據類型是:{} 地址:{}".format(type(a),id(a)))

????print("b的數據類型是:{} 地址:{}".format(type(b), id(b)))

輸出結果:

1

2

a的數據類型是:<class 'int'> 地址:1994744256

b的數據類型是:<class 'int'> 地址:1994744576

分析下上面代碼:定義了局部變量a和b,python會自動給局部變量分配內存,分別用來存放整數10和20,并通過內置函數id()獲取內存地址!關于內存這里不做過多介紹,你需要記住的是:每一個內存都有一個一個對應的內存地址,分配的內存在程序結束時由系統自動回收!

python 可變數據類型和不可變數據類型

?

二.可變數據類型和不可變數據類型

python數據類型分別有整數int / 浮點數float / 布爾值bool / 元組tuple / 列表list / 字典dict,這是python開發中最常用的數據類型!

?

1.可變數據類型和不可變數據類型區別

可變數據類型:當該數據類型對應的變量的值發生了變化時,如果它對應的內存地址不發生改變,那么這個數據類型就是 可變數據類型。

不可變數據類型:當該數據類型對應的變量的值發生了變化時,如果它對應的內存地址發生了改變,那么這個數據類型就是 不可變數據類型。

總結:可變數據類型更改值后,內存地址不發生改變;不可變數據類型更改值后,內存地址發生改變。

?

2.不可變數據類型

不可變數據類型:數值類型(int、float、bool)、string(字符串)、tuple(元組)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解憂

@Blog(個人博客地址): shuopython.com

@WeChat Official Account(微信公眾號):猿說python

@Github:www.github.com

?

@File:python_variable.py

@Time:2019/10/24 21:25

?

@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

?

?

#整形變量

a = 10

print("整形變量a修改之前地址:{}".format(id(a)))

a = 20

print("整形變量a修改之后地址:{}".format(id(a)))

print("***"*20)

?

#浮點數變量

a = 10.5

print("浮點數變量a修改之前地址:{}".format(id(a)))

a = 20.2

print("浮點數變量a修改之后地址:{}".format(id(a)))

print("***"*20)

?

?

#字符串變量

a = "hello"

print("字符串變量a修改之前地址:{}".format(id(a)))

a = "world"

print("字符串變量a修改之后地址:{}".format(id(a)))

print("***"*20)

?

#布爾值變量

a = False

print("布爾值a修改之前地址:{}".format(id(a)))

a = True

print("布爾值a修改之后地址:{}".format(id(a)))

print("***"*20)

?

#元組的數據不能修改,否則會報錯

輸出結果:

1

2

3

4

5

6

7

8

9

10

11

12

整形變量a修改之前地址:1994744256

整形變量a修改之后地址:1994744576

************************************************************

浮點數變量a修改之前地址:2713286559088

浮點數變量a修改之后地址:2713286559136

************************************************************

字符串變量a修改之前地址:2713269294224

字符串變量a修改之后地址:2713269272112

************************************************************

布爾值a修改之前地址:1994252480

布爾值a修改之后地址:1994252448

************************************************************

?

3.可變數據類型

可變數據類型:list(列表)、dict(字典)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#列表

a = list()

print("列表a修改之前地址:{}".format(id(a)))

a.append(20)

print(

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金阳县| 新昌县| 汉中市| 平邑县| 丹东市| 汪清县| 喀什市| 海丰县| 扎兰屯市| 会理县| 和林格尔县| 延长县| 高邮市| 垫江县| 新河县| 广丰县| 太谷县| 阜阳市| 龙山县| 大姚县| 汉中市| 安宁市| 大悟县| 资源县| 揭西县| 西平县| 瑞安市| 西华县| 邹平县| 泰和县| 九台市| 通榆县| 岳池县| 土默特左旗| 峨边| 固安县| 达孜县| 津市市| 南涧| 商都县| 崇仁县|