日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Python 變量?對(duì)象?引用?賦值?一個(gè)例子解釋清楚

來源: 責(zé)編: 時(shí)間:2024-01-26 09:05:20 274觀看
導(dǎo)讀哈嘍大家好,我是咸魚。前天有個(gè)小伙伴找到我,給了我一段 python 代碼:a = [1, 2]a[1] = aprint(a[1])然后問我為什么結(jié)果是 [1, [...]],我一看這個(gè)問題有意思,我說三言兩語解釋不清楚,寫篇文章到時(shí)候你看下吧,于是有了今天這

哈嘍大家好,我是咸魚。cN228資訊網(wǎng)——每日最新資訊28at.com

前天有個(gè)小伙伴找到我,給了我一段 python 代碼:cN228資訊網(wǎng)——每日最新資訊28at.com

a = [1, 2]a[1] = aprint(a[1])

然后問我為什么結(jié)果是 [1, [...]],我一看這個(gè)問題有意思,我說三言兩語解釋不清楚,寫篇文章到時(shí)候你看下吧,于是有了今天這篇文章。cN228資訊網(wǎng)——每日最新資訊28at.com

在正式開始之前,讓我們先弄清楚一些概念。cN228資訊網(wǎng)——每日最新資訊28at.com

cN228資訊網(wǎng)——每日最新資訊28at.com

對(duì)象?變量?引用?賦值?

"Python 中一切皆對(duì)象",相信這句話大家在學(xué)習(xí) Python 的時(shí)候都已經(jīng)聽的耳朵起繭子了吧。cN228資訊網(wǎng)——每日最新資訊28at.com

在 Python 中,所有的數(shù)據(jù)都是對(duì)象,包括基本數(shù)據(jù)類型(例如整數(shù)、浮點(diǎn)數(shù)、字符串等)以及用戶自定義的類型(類的實(shí)例等)。cN228資訊網(wǎng)——每日最新資訊28at.com

而對(duì)象其實(shí)是內(nèi)存中分配的一塊空間,用來存儲(chǔ)其值。每個(gè)對(duì)象都有一個(gè)唯一的標(biāo)識(shí)符(id),可以通過 id() 函數(shù)獲取。cN228資訊網(wǎng)——每日最新資訊28at.com

不但如此,每一個(gè)對(duì)象都具有兩個(gè)標(biāo)準(zhǔn)的頭部信息:cN228資訊網(wǎng)——每日最新資訊28at.com

  • 類型標(biāo)志符(Type Identifier):每個(gè)對(duì)象都有一個(gè)類型信息,可以通過 type() 函數(shù)獲取。
  • 引用計(jì)數(shù)器(Reference Counter): 引用計(jì)數(shù)器表示有多少個(gè)引用指向該對(duì)象,當(dāng)引用計(jì)數(shù)降為零時(shí),對(duì)象會(huì)被垃圾回收。( Python 也使用其他垃圾回收機(jī)制,例如循環(huán)垃圾回收器來處理引用環(huán)的情況。)

cN228資訊網(wǎng)——每日最新資訊28at.com

在 Python 中,變量實(shí)際上是對(duì)象的【引用】,而不是對(duì)象本身的【存儲(chǔ)】。當(dāng)我們執(zhí)行賦值語句時(shí),會(huì)自動(dòng)建立變量和對(duì)象之間的關(guān)系,即引用。cN228資訊網(wǎng)——每日最新資訊28at.com

變量就像是一個(gè)指針,【指向】?jī)?nèi)存中存儲(chǔ)對(duì)象的位置。cN228資訊網(wǎng)——每日最新資訊28at.com

我們來看一個(gè)例子:cN228資訊網(wǎng)——每日最新資訊28at.com

a = 1b = aa = a + 1

首先將  1 賦值于  a,即 a 指向了  1  這個(gè)對(duì)象。cN228資訊網(wǎng)——每日最新資訊28at.com

cN228資訊網(wǎng)——每日最新資訊28at.com

接著 b = a 則表示讓變量 b 也同時(shí)指向 1 這個(gè)對(duì)象。Python 的對(duì)象可以被多個(gè)變量所指向(引用)。cN228資訊網(wǎng)——每日最新資訊28at.com

cN228資訊網(wǎng)——每日最新資訊28at.com

最后執(zhí)行 a = a + 1,在這里需要注意的是,Python 的基礎(chǔ)數(shù)據(jù)類型(例如整型(int)、字符串(string)等)是不可變的cN228資訊網(wǎng)——每日最新資訊28at.com

所以,a = a + 1,并不是讓 a 的值增加 1,而是表示重新創(chuàng)建了一個(gè)新的值為 2 的對(duì)象,并讓 a 指向它。但是 b 仍然不變,仍然指向 1 這個(gè)對(duì)象。cN228資訊網(wǎng)——每日最新資訊28at.com

因此最后的結(jié)果是,a 的值變成了 2,而 b的值不變?nèi)匀皇?nbsp;1。cN228資訊網(wǎng)——每日最新資訊28at.com

cN228資訊網(wǎng)——每日最新資訊28at.com

通過這個(gè)例子你可以看到,這里的 a 和 b,開始只是兩個(gè)指向同一個(gè)對(duì)象的變量而已,或者你也可以把它們想象成同一個(gè)對(duì)象的兩個(gè)名字。cN228資訊網(wǎng)——每日最新資訊28at.com

簡(jiǎn)單的賦值 b = a,并不表示重新創(chuàng)建了新對(duì)象,只是讓同一個(gè)對(duì)象被多個(gè)變量指向或引用。cN228資訊網(wǎng)——每日最新資訊28at.com

為什么?

在了解了變量、對(duì)象、引用、賦值之后,我們回到一開始的例子。cN228資訊網(wǎng)——每日最新資訊28at.com

a = [1, 2]a[1] = aprint(a[1])

這段代碼中創(chuàng)建了一個(gè)列表 a,其中包含兩個(gè)元素(1 和 2),然后 a[1] 被賦值為整個(gè)列表 a(a[1] = a),當(dāng)你打印 a[1] 時(shí),它實(shí)際上是指向列表 a 本身。cN228資訊網(wǎng)——每日最新資訊28at.com

a = [1, <reference to a>]

這樣就會(huì)導(dǎo)致循環(huán)引用的問題。cN228資訊網(wǎng)——每日最新資訊28at.com

cN228資訊網(wǎng)——每日最新資訊28at.com

我們來分步驟解釋一下這個(gè)過程:cN228資訊網(wǎng)——每日最新資訊28at.com

  • a 是一個(gè)包含兩個(gè)元素的列表:[1, 2]。
  • a[1] = a 將列表 a 的第二個(gè)元素設(shè)為 a,即a[1]實(shí)際上指向列表 a 本身,形成了一個(gè)循環(huán)引用
  • 當(dāng)打印 a[1] 時(shí),Python 發(fā)現(xiàn)這是一個(gè)特殊的情況,即這個(gè)元素是對(duì)列表本身的引用。為了避免無限循環(huán),Python 會(huì)顯示 ...,表示引用已經(jīng)進(jìn)入了一個(gè)循環(huán)。因此看到的結(jié)果是 [1, [...]]。

那如何避免循環(huán)引用呢?可以使用淺拷貝或者深拷貝來解決。cN228資訊網(wǎng)——每日最新資訊28at.com

我們用淺拷貝來試一下:cN228資訊網(wǎng)——每日最新資訊28at.com

import copya = [1, 2]a[1] = copy.copy(a)print(a[1])# 結(jié)果是[1,2]

淺拷貝創(chuàng)建一個(gè)新的對(duì)象,然后將原始對(duì)象中的元素復(fù)制到新對(duì)象中。但是,如果原始對(duì)象的元素是可變對(duì)象(例如列表),那么淺拷貝只會(huì)復(fù)制對(duì)象的引用而不是對(duì)象本身。cN228資訊網(wǎng)——每日最新資訊28at.com

就比如上面的例子:cN228資訊網(wǎng)——每日最新資訊28at.com

  • a = [1, 2] 創(chuàng)建了一個(gè)列表 a,其中有兩個(gè)元素 1 和 2。
  • a[1] = copy.copy(a) 將列表 a 的第二個(gè)元素修改為對(duì)列表 a 的淺拷貝。
  • 打印 a[1],此時(shí) a[1] 指向了新的對(duì)象 [1, 2]

本文鏈接:http://m.www897cc.com/showinfo-26-68339-0.htmlPython 變量?對(duì)象?引用?賦值?一個(gè)例子解釋清楚

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 突破性能瓶頸,C++代碼優(yōu)化攻略

下一篇: C++中關(guān)于構(gòu)造函數(shù)的幾個(gè)關(guān)鍵字

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 一加首款折疊屏!一加Open渲染圖出爐:罕見單手可握小尺寸

    8月5日消息,此前就有爆料稱,一加首款折疊屏手機(jī)將會(huì)在第三季度上市,如今隨著時(shí)間臨近,新機(jī)的各種消息也開始浮出水面。據(jù)悉,這款新機(jī)將會(huì)被命名為&ldquo;On
  • 一文看懂為蘋果Vision Pro開發(fā)應(yīng)用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現(xiàn)實(shí)(MR)頭戴設(shè)備。Vision Pro結(jié)合了虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)的沉浸感。其高分辨率顯示屏、先進(jìn)的傳感器和強(qiáng)大的處理能力
  • 一年經(jīng)驗(yàn)在二線城市面試后端的經(jīng)驗(yàn)分享

    忠告這篇文章只適合2年內(nèi)工作經(jīng)驗(yàn)、甚至沒有工作經(jīng)驗(yàn)的朋友閱讀。如果你是2年以上工作經(jīng)驗(yàn),請(qǐng)果斷劃走,對(duì)你沒啥幫助~主人公這篇文章內(nèi)容來自 「升職加薪」星球星友 的投稿,坐
  • Python異步IO編程的進(jìn)程/線程通信實(shí)現(xiàn)

    這篇文章再講3種方式,同時(shí)講4中進(jìn)程間通信的方式一、 Python 中線程間通信的實(shí)現(xiàn)方式共享變量共享變量是多個(gè)線程可以共同訪問的變量。在Python中,可以使用threading模塊中的L
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學(xué)好IO流,對(duì)各種流的概念,云里霧里的,不求甚解。用到的時(shí)候,現(xiàn)百度,功能雖然實(shí)現(xiàn)了,但是為什么用這個(gè)?不知道。更別說效率問題了~下次再遇到,
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會(huì)涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 小米汽車電池信息疑似曝光:容量101kWh,支持800V高壓快充

    7月14日消息,今日一名博主在社交媒體發(fā)布了一張疑似小米汽車電池信息的照片,顯示該電池包正是寧德時(shí)代麒麟電池,容量為101kWh,電壓為726.7V,可以預(yù)測(cè)小
  • iQOO 11S新品發(fā)布會(huì)

    iQOO將在7月4日19:00舉行新品發(fā)布會(huì),推出杭州亞運(yùn)會(huì)電競(jìng)賽事官方用機(jī)iQOO 11S。
  • 蘋果MacBook Pro 2021測(cè)試:仍不支持平滑滾動(dòng)

    據(jù)10月30日9to5 Mac 消息報(bào)道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯(cuò)的評(píng)價(jià),亮點(diǎn)包括行業(yè)領(lǐng)先的性能,令人印象深刻的電池續(xù)航,精美豐
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
激情av一区二区| 国产欧美91| 久久久久久一区| 久久综合久久综合久久| 欧美日韩99| 国产日韩一区在线| 亚洲国产电影| 亚洲免费在线视频| 久久久免费观看视频| 欧美国产精品久久| 国产精品久久二区二区| 国产一区二区三区视频在线观看 | 老司机午夜精品视频| 欧美日韩国产高清视频| 国产欧美日韩视频| 亚洲欧洲在线播放| 亚洲男女毛片无遮挡| 久久一区国产| 国产精品久久久久久模特| 激情欧美一区| 亚洲香蕉网站| 女同一区二区| 国产精品永久免费在线| 91久久黄色| 久久av红桃一区二区小说| 欧美人成在线视频| 国内久久婷婷综合| 一区二区三区 在线观看视频 | 久久久女女女女999久久| 欧美片第一页| 狠狠色香婷婷久久亚洲精品| 一区二区三区国产在线观看| 久久先锋影音| 国产麻豆9l精品三级站| 99re热这里只有精品免费视频| 久久久久九九九| 国产精品欧美经典| 日韩一区二区福利| 久热精品视频在线观看| 国产精品亚洲аv天堂网| 亚洲精品一区中文| 久久亚洲精品视频| 国产亚洲成精品久久| 亚洲在线日韩| 欧美日韩国产综合新一区| 亚洲电影一级黄| 久久精品一级爱片| 国产精品午夜春色av| 一区二区三区国产精华| 欧美~级网站不卡| 国产一区美女| 亚洲欧美日韩视频二区| 欧美日韩视频在线第一区| 亚洲高清资源| 久久伊人精品天天| 国内精品模特av私拍在线观看| 亚洲主播在线观看| 欧美日本成人| 最新成人在线| 免费观看国产成人| 黑人一区二区| 久久久久亚洲综合| 国产一区二区三区在线观看免费视频| 亚洲天堂免费观看| 欧美日韩一卡| 99综合在线| 欧美日韩伦理在线免费| 日韩视频一区二区| 欧美激情一区二区三区四区| 亚洲第一在线视频| 久久久99爱| 精品1区2区3区4区| 久久久蜜桃一区二区人| 狠狠做深爱婷婷久久综合一区 | 久久综合色8888| 精品成人a区在线观看| 久久精品动漫| 国产一区视频网站| 欧美中文字幕在线视频| 国产欧美在线播放| 欧美一级久久久久久久大片| 国产欧美韩国高清| 久久国产88| 黄色国产精品一区二区三区| 久久免费视频一区| ●精品国产综合乱码久久久久| 久久综合九色| 亚洲激情亚洲| 欧美乱人伦中文字幕在线| 99热精品在线| 国产精品久久久久毛片软件| 午夜视频在线观看一区二区| 国产日韩精品在线播放| 久久久久青草大香线综合精品| 一区免费观看| 欧美理论电影在线观看| 99视频精品在线| 国产精品xvideos88| 欧美电影打屁股sp| 亚洲成色精品| 欧美韩国在线| 国产精品99久久不卡二区| 国产精品免费看片| 久久国产精品毛片| 在线精品国精品国产尤物884a| 欧美成人激情视频免费观看| 夜夜嗨一区二区| 国产伦精品一区二区三区免费| 久久精品亚洲| 91久久精品国产| 欧美日韩在线播放三区四区| 午夜精品美女久久久久av福利| 国产在线播放一区二区三区| 免费欧美网站| 99精品欧美一区二区三区| 国产精品美女久久久久aⅴ国产馆| 久久大逼视频| 亚洲人成7777| 国产精品美女久久久浪潮软件| 久久精品综合| 日韩西西人体444www| 国产精品多人| 久久男人av资源网站| 日韩视频在线观看免费| 国产精品婷婷午夜在线观看| 久久久久久一区二区| 99精品国产在热久久婷婷| 国产欧美日韩不卡免费| 欧美暴力喷水在线| 亚洲欧美日韩国产一区二区| 一区二区三区在线观看视频 | 国产日韩欧美综合一区| 免费成人高清视频| 亚洲一区日韩| 亚洲国产高清在线观看视频| 国产精品国产自产拍高清av王其| 久久人人爽人人爽| 亚洲特级毛片| 亚洲成色www8888| 国产精品入口日韩视频大尺度| 两个人的视频www国产精品| 亚洲一区二区三区精品在线| 在线不卡中文字幕| 国产精品青草久久久久福利99| 蜜臀91精品一区二区三区| 亚洲欧美日本在线| 最新69国产成人精品视频免费| 国产精品试看| 欧美精品久久久久久久久久| 久久成人免费日本黄色| 亚洲最黄网站| 在线欧美日韩国产| 国产日韩高清一区二区三区在线| 欧美片第一页| 久久亚洲视频| 午夜精品久久久久久久久久久| 亚洲三级网站| 精品91免费| 国产欧美欧美| 欧美性做爰毛片| 欧美电影资源| 久久蜜桃资源一区二区老牛| 午夜精品福利视频| 中日韩美女免费视频网站在线观看 | 欧美视频福利| 牛牛影视久久网| 久久九九热re6这里有精品| 亚洲视频自拍偷拍| 亚洲精品乱码视频 | 欧美一区二区播放| 亚洲校园激情| 亚洲美女av网站| 亚洲国产精品一区| 韩国精品在线观看| 国产欧美精品xxxx另类| 欧美三区在线| 欧美日本一道本| 欧美va天堂va视频va在线| 欧美专区日韩专区| 亚洲愉拍自拍另类高清精品| 夜夜嗨av一区二区三区| 亚洲精品美女在线| 亚洲国产精品久久久久久女王| 韩国福利一区| 激情丁香综合| 韩国精品在线观看| 国产婷婷色综合av蜜臀av| 国产精品嫩草99av在线| 国产精品成人播放| 欧美日韩在线一区| 欧美日韩精品三区| 欧美精品日韩一区| 欧美精品videossex性护士| 欧美成人免费观看| 欧美成人精品三级在线观看| 老司机精品视频一区二区三区| 久久精品亚洲一区二区| 久久国产精品网站| 久久精品视频免费| 久久久久久91香蕉国产| 久久久国产午夜精品| 久久久久国色av免费看影院| 久久精品亚洲精品国产欧美kt∨| 久久精品国产亚洲aⅴ|