国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python的可變類型和不可變類型

這篇具有很好參考價值的文章主要介紹了python的可變類型和不可變類型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 解釋

1.1 不可變類型

? 在id不變的情況下,value可以改變

? 在熟知的類型中,整數(shù),浮點數(shù),復(fù)數(shù),布爾值,字符串,元組和凍結(jié)集合屬于不可變類型

? 對不可類型的變量重新賦值,實際上是重新創(chuàng)建一個不可變類型的對象,并將原來的變量重新指向新創(chuàng)建的對象

1.2 可變類型

? value一旦改變,id也跟著改變

? 在熟知的類型中,列表,字典,集合屬于可變類型

2. 舉例

會通過大量的例子來幫助自己記憶。文章來源地址http://www.zghlxwxcb.cn/news/detail-647883.html

2.1 不可變類型舉例

2.1.1 數(shù)字舉例

# 數(shù)字舉例
a = 11
print(id(a))
a +=1
print(id(a))
# 140729053930600

# 140729053930664

2.1.2 字符串舉例

# 字符串舉例
str1 = 'abcdef'
print(f'{str1} id = {id(str1)}')
str1 = str1[4:]
str1 += 'hello world'
print(f'{str1} id = {id(str1)}')

2.1.3 元組舉例

# 元組
# 在 Python 中,元組是一種不可變序列,即元組一旦被創(chuàng)建就不能更改它的內(nèi)容。這表明在原有的元組上新增元素是不允許的
my_tuple = (1,2,3,4)
my_tuple1 = my_tuple
print(f'value = {my_tuple}, id = {id(my_tuple)}')
print(f'value1 = {my_tuple1}, id = {id(my_tuple1)}')

# 通過+ 將舊有元組與需要添加的值拼接形成新的元組
my_tuple = my_tuple + (11,22)
print(f'value = {my_tuple}, id = {id(my_tuple)}')

# 通過*解包舊有元組,然后和新的元素組成新的元組
my_tuple = (*my_tuple, 33)
print(f'value = {my_tuple}, id = {id(my_tuple)}')

# 值發(fā)生改變同時id也發(fā)生改變。

2.1.4 凍結(jié)集合舉例

# 凍結(jié)集合
# 凍結(jié)集合是不可變的,凍結(jié)集合在被定義后我們就不能再修改里面的元素了。凍結(jié)集合除了不能修改元素以外,其他的性質(zhì)和集合一樣。
my_f_set = frozenset(range(3))
print(f'value={my_f_set},id={id(my_f_set)}')
# 凍結(jié)集合的其它操作就不介紹了

2.2 可變類型舉例

2.2.1 列表舉例

# 列表
# 列表是一個可以包含任何類型數(shù)據(jù)的有序集合,比如數(shù)字、字符串甚至是其他列表。
# 列表是可變的,也就是說你可以改變一個列表的內(nèi)容。
# 創(chuàng)建一個列表很簡單,只需要將一些值用逗號隔開,然后用方括號括起來即可
# 常用的三種列表的創(chuàng)建方式
my_list = [1,2,3,4]
my_list1 = list(range(5))
my_list2 = [x for x in range(3)]
print(f'value = {my_list}, id = {id(my_list)}')
my_list.insert(0,11)
print(f'value = {my_list}, id = {id(my_list)}')
my_list.append(22)
print(f'value = {my_list}, id = {id(my_list)}')
my_list.remove(11)
print(f'value = {my_list}, id = {id(my_list)}')

# 可以看到我們向列表添加元素和刪除元素(改變列表的內(nèi)容),id均未發(fā)生變化
# value = [1, 2, 3, 4], id = 1181715063808
# value = [11, 1, 2, 3, 4], id = 1181715063808
# value = [11, 1, 2, 3, 4, 22], id = 1181715063808
# value = [1, 2, 3, 4, 22], id = 1181715063808

2.1.2 字典舉例

# 字典
# 字典是python當中的一種數(shù)據(jù)類型,字典內(nèi)部是一個一對一映射的數(shù)據(jù)關(guān)系。
import itertools
my_dict = {'1':1, '2':2}
my_dict1 = {x:x**2 for x in range(4)}
my_dict2 = dict(zip([1,2,3,4,5],[chr(x) for x in range(97,102)]))
my_dict3 = dict(itertools.product(range(3), range(3)))
print(f'value = {my_dict}')
print(f'value = {my_dict1}')
print(f'value = {my_dict2}')
print(f'value = {my_dict3}')
print(f'value = {my_dict},id = {id(my_dict)}')
my_dict['key'] = 'value'
print(f'value = {my_dict},id = {id(my_dict)}')

del my_dict['1']
print(f'value = {my_dict},id = {id(my_dict)}')

# 我們往字典里添加元素和從字典里刪除元素,字典的id均未發(fā)生改變
# value = {'1': 1, '2': 2}
# value = {0: 0, 1: 1, 2: 4, 3: 9}
# value = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
# value = {0: 2, 1: 2, 2: 2}
# value = {'1': 1, '2': 2},id = 1497832590976
# value = {'1': 1, '2': 2, 'key': 'value'},id = 1497832590976
# value = {'2': 2, 'key': 'value'},id = 1497832590976

2.1.3 集合舉例

# 集合
# 集合是python當中一種無序的、不重復(fù)的數(shù)據(jù)序列

my_set = {1,2,3,4}
my_set1 = set(range(5))
print(f'value = {my_set}')
print(f'value = {my_set1}')

print(f'value = {my_set}, id = {id(my_set)}')
my_set.add(12)
print(f'value = {my_set}, id = {id(my_set)}')

my_set.remove(12)
print(f'value = {my_set}, id = {id(my_set)}')

# value = {1, 2, 3, 4}
# value = {0, 1, 2, 3, 4}
# value = {1, 2, 3, 4}, id = 2059410018752
# value = {1, 2, 3, 4, 12}, id = 2059410018752
# value = {1, 2, 3, 4}, id = 2059410018752

2.1.4 可變類型參數(shù)

# 不可變類型參數(shù)
# 函數(shù)內(nèi)部修改參數(shù)的值,只是修改另一個復(fù)制對象,不會影響變量本身
# 可變類型參數(shù)
# 函數(shù)將實參本體傳遞過去,修改后函數(shù)外部的變量也會受到影響

def my_func(list1:list,dict1:dict, set1:set):
    list1.pop()
    dict1.pop(1)
    set1.remove(22)

def my_func1(list1:list,dict1:dict, set1:set):
    list1 = list1[1:]
    dict1 = dict(zip(range(3),range(3)))
    set1 = set(range(3))    
my_list = list(range(4))
my_dict = {x:x**2 for x in range(1,4)}
my_set = set(range(20,24))

print(f'value = {my_list}, id = {id(my_list)}')
print(f'value = {my_dict}, id = {id(my_dict)}')
print(f'value = {my_set}, id = {id(my_set)}')

my_func(my_list, my_dict, my_set)
print(f'value1 = {my_list}, id = {id(my_list)}')
print(f'value1 = {my_dict}, id = {id(my_dict)}')
print(f'value1 = {my_set}, id = {id(my_set)}')

# 這樣操作,沒有影響到外面
# 嘗試這樣解釋,由于在函數(shù)內(nèi)使用了等號,相當遠新建了一個變量,而局部變量在函數(shù)結(jié)束時就已經(jīng)無了
my_func1(my_list, my_dict, my_set)
print(f'value2 = {my_list}, id = {id(my_list)}')
print(f'value2 = {my_dict}, id = {id(my_dict)}')
print(f'value2 = {my_set}, id = {id(my_set)}')

# value = [0, 1, 2, 3], id = 3112078428416
# value = {1: 1, 2: 4, 3: 9}, id = 3112077352960
# value = {20, 21, 22, 23}, id = 3112078346944
# value1 = [0, 1, 2], id = 3112078428416
# value1 = {2: 4, 3: 9}, id = 3112077352960
# value1 = {20, 21, 23}, id = 3112078346944
# value2 = [0, 1, 2], id = 3112078428416
# value2 = {2: 4, 3: 9}, id = 3112077352960
# value2 = {20, 21, 23}, id = 3112078346944

到了這里,關(guān)于python的可變類型和不可變類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • css3實現(xiàn)圖片瀑布流,根據(jù)屏幕大小列可變和不可變的的瀑布流

    css3實現(xiàn)圖片瀑布流,根據(jù)屏幕大小列可變和不可變的的瀑布流

    前提是每張圖片寬度要設(shè)置成一樣,準備15張圖測試 1.屏幕大小列可變column實現(xiàn),設(shè)置默認每列的圖片寬度 2.屏幕大小列可變2 @media來控制 3.不可變-屏幕大小列不可變 4.不可變-屏幕大小列不可變 5.可變-可變js來實現(xiàn)-屏幕大小列可變

    2024年02月08日
    瀏覽(31)
  • Python學(xué)習筆記_基礎(chǔ)篇(三)_數(shù)據(jù)類型之列表

    Python學(xué)習筆記_基礎(chǔ)篇(三)_數(shù)據(jù)類型之列表

    一.基本數(shù)據(jù)類型 整數(shù):int 字符串:str(注:t等于一個tab鍵) 布爾值: bool 列表:list (元素的集合) 列表用[] 元祖:tuple 元祖用() 字典:dict 注:所有的數(shù)據(jù)類型都存在想對應(yīng)的類列里 二.列表所有數(shù)據(jù)類型: 基本操作: 索引 切片 追加 刪除 長度 切片 循環(huán) 包含 list 三

    2024年02月12日
    瀏覽(25)
  • python教程 入門學(xué)習筆記 第4天 數(shù)據(jù)類型 獲取數(shù)據(jù)類型 字符串拼接

    數(shù)據(jù)類型 1、能直接處理的基本數(shù)據(jù)類型有5個:整型、浮點型、字符串、布爾值、空 1)整型(int)=整數(shù),例如0至9,-1至-9,100,-8180等,人數(shù)、年齡、頁碼、門牌號等 沒有小數(shù)位的數(shù)字,是整型 2)浮點型(float)=小數(shù),例如金額、身高、體重、距離、長度、π等 精確到小

    2024年02月14日
    瀏覽(28)
  • Python學(xué)習筆記(2)--字面量,注釋,變量,數(shù)據(jù)類型,數(shù)據(jù)類型轉(zhuǎn)換,標識符,運算符

    Python學(xué)習筆記(2)--字面量,注釋,變量,數(shù)據(jù)類型,數(shù)據(jù)類型轉(zhuǎn)換,標識符,運算符

    傳送門==B站黑馬python入門教程 1.字面量 字面量 : 代碼中被固定寫的值 python常用的6種數(shù)據(jù)類型為 數(shù)字,字符串,列表,元組,集合,字典 目前基礎(chǔ)部分學(xué)習 字符串,整數(shù),浮點數(shù) 即可 字符串 :(文本),由任意數(shù)量的 字符 (示例:中文/英文/各類符號/數(shù)組)組成; 在 python 中,字符串需要用雙

    2024年02月11日
    瀏覽(97)
  • python教程 入門學(xué)習筆記 第6天 數(shù)據(jù)類型轉(zhuǎn)換 字符串轉(zhuǎn)換成數(shù)值 數(shù)值之間互轉(zhuǎn) 其它類型轉(zhuǎn)字符串

    s1=\\\"188\\\" #字符串 ns1=int(s1) #轉(zhuǎn)換成整型數(shù)值 print(ns1+8) #打印數(shù)值結(jié)果 s1=\\\"3.14\\\" #字符串 ns1=float(s1) #轉(zhuǎn)換成浮點型數(shù)值 print(ns1+3) #打印數(shù)值結(jié)果(數(shù)值結(jié)果為6.140000000000001,出現(xiàn)誤差,后面講解決辦法) print(type(ns1)) #獲取新數(shù)值的數(shù)據(jù)類型屬性 z1=78 nz1=float(z1) print(nz1) #打印結(jié)果

    2024年02月14日
    瀏覽(43)
  • [學(xué)習筆記]python的web開發(fā)全家桶(ing)

    [學(xué)習筆記]python的web開發(fā)全家桶(ing)

    源學(xué)習視頻 目的:開發(fā)一個平臺(網(wǎng)站) 前端開發(fā):HTML、CSS、JavaScript Web框架:接收請求并處理 MySQL數(shù)據(jù)庫:存儲數(shù)據(jù)地方 快速上手: 基于Flask Web框架讓你快速搭建一個網(wǎng)站出來。 深入學(xué)習: 基于Django框架(主要) 老師在P2的26分22秒使用的畫圖軟件是Excalidraw 2.4.1 div和span div

    2024年02月04日
    瀏覽(27)
  • 《使用Unreal Engine Python插件進行UE4中的Python開發(fā)》學(xué)習筆記1

    《使用Unreal Engine Python插件進行UE4中的Python開發(fā)》學(xué)習筆記1

    ·本文為B站系列教學(xué)視頻 《使用 UnrealEnginPython 插件進行UE4中的Python開發(fā)》 ——《 Day 01 初識 UnrealEnginePython 》的學(xué)習筆記,UP主為騰訊游戲策劃、虛幻社區(qū)貢獻者 世欺子。 本節(jié)課對基于虛幻引擎( Unreal Engine )的 Python 集成開發(fā)插件 UnrealEnginePython 進行簡要介紹,接著在虛幻

    2024年04月11日
    瀏覽(24)
  • Python爬蟲學(xué)習筆記:1688商品詳情API 開發(fā)API接口文檔

    Python爬蟲學(xué)習筆記:1688商品詳情API 開發(fā)API接口文檔

    ? 1688API接口是阿里巴巴集團推出的一種開放平臺,提供了豐富的數(shù)據(jù)接口、轉(zhuǎn)換工具以及開發(fā)資源,為開發(fā)者提供了通用的應(yīng)用接口及大量數(shù)據(jù)資源,支持開發(fā)者在1688上進行商品搜索、訂單管理、交易報表及物流等方面的操作。 1688API接口主要包含以下幾類: 商品API:提供

    2024年02月16日
    瀏覽(27)
  • C語言——自定義類型結(jié)構(gòu)體_學(xué)習筆記

    C語言——自定義類型結(jié)構(gòu)體_學(xué)習筆記

    結(jié)構(gòu)體是一種用戶自定義的數(shù)據(jù)類型,可以包含 多個不同類型的變量 。通過使用結(jié)構(gòu)體,我們可以將相關(guān)聯(lián)的數(shù)據(jù)組織在一起,便于管理和使用。 在C語言中,結(jié)構(gòu)體(struct)指的是一種數(shù)據(jù)結(jié)構(gòu),是C語言中聚合數(shù)據(jù)類型的一類。 結(jié)構(gòu)體可以包含多個不同類型的數(shù)據(jù)成員,例

    2024年02月07日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包