中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

孝义市| 南昌市| 靖安县| 德昌县| 昆明市| 资溪县| 咸阳市| 拜泉县| 宜州市| 旅游| 定南县| 新闻| 开原市| 商城县| 天峨县| 平江县| 兴仁县| 黄龙县| 兰州市| 江华| 天气| 巴塘县| 宁阳县| 阳山县| 福鼎市| 家居| 鲁甸县| 孟州市| 阿巴嘎旗| 察隅县| 上林县| 涞源县| 开阳县| 怀柔区| 新丰县| 普兰店市| 旬阳县| 依兰县| 永胜县| 太原市| 安庆市|