亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

长治市| 台州市| 英吉沙县| 银川市| 井冈山市| 吴江市| 桂平市| 蓝田县| 甘德县| 洛扎县| 桐城市| 介休市| 盐边县| 姜堰市| 新竹市| 广德县| 子长县| 盘山县| 天峨县| 酒泉市| 南平市| 梅州市| 宝兴县| 海伦市| 石首市| 玉门市| 龙胜| 通许县| 榕江县| 张家川| 视频| 全南县| 龙南县| 南华县| 甘孜| 驻马店市| 阿拉善盟| 博客| 拉萨市| 即墨市| 宁夏|