成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)

Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)

熱門(mén)標(biāo)簽:老人電話機(jī)器人 百度地圖標(biāo)注位置怎么修改 梅州外呼業(yè)務(wù)系統(tǒng) 高德地圖標(biāo)注是免費(fèi)的嗎 地圖標(biāo)注視頻廣告 無(wú)錫客服外呼系統(tǒng)一般多少錢(qián) 洪澤縣地圖標(biāo)注 北京電信外呼系統(tǒng)靠譜嗎 大連crm外呼系統(tǒng)

變量全都是引用

跟其他編程語(yǔ)言不同,Python的變量不是盒子,不會(huì)存儲(chǔ)數(shù)據(jù),它們只是引用,就像標(biāo)簽一樣,貼在對(duì)象上面。

比如:

>>> a = [1, 2, 3]
>>> b = a
>>> a.append(4)
>>> b
[1, 2, 3, 4]
>>> b is a
True

a變量和b變量引用的是同一個(gè)列表[1, 2, 3]。b可以叫做a的別名。

比較來(lái)看:

>>> a = [1, 2, 3]
>>> c = [1, 2, 3]
>>> c == a
True
>>> c is a
False

c引用的是另外一個(gè)列表,雖然和a引用的列表的值相等,但是它們是不同的對(duì)象。

淺復(fù)制與深復(fù)制

淺復(fù)制是指只復(fù)制最外層容器,副本中的元素是源容器中元素的引用。如果所有元素都是不可變的,那么這樣沒(méi)有問(wèn)題,還能節(jié)省內(nèi)容。但是,如果有可變的元素,那么結(jié)果可能會(huì)出乎意料之外。構(gòu)造方法或[:]做的都是淺復(fù)制。

示例:

>>> x1 = [3, [66, 55, 44], (7, 8, 9)]
# x2是x1的淺復(fù)制
>>> x2 = list(x1)

# 不可變?cè)貨](méi)有影響
>>> x1.append(100)
>>> x1
[3, [66, 55, 44], (7, 8, 9), 100]
>>> x2
[3, [66, 55, 44], (7, 8, 9)]  

# x1[1]是列表,可變?cè)貢?huì)影響x2
# 因?yàn)樗鼈円玫氖峭粋€(gè)對(duì)象
>>> x1[1].remove(55)
>>> x1
[3, [66, 44], (7, 8, 9), 100]
>>> x2
[3, [66, 44], (7, 8, 9)]  

# x2[1]也會(huì)反過(guò)來(lái)影響x1
>>> x2[1] += [33, 22]
>>> x1
[3, [66, 44, 33, 22], (7, 8, 9), 100]  
>>> x2
[3, [66, 44, 33, 22], (7, 8, 9)]

# 不可變?cè)M也不會(huì)有影響
# +=運(yùn)算符創(chuàng)建了一個(gè)新元組
>>> x2[2] += (10, 11)
>>> x1
[3, [66, 44, 33, 22], (7, 8, 9), 100]  
>>> x2
[3, [66, 44, 33, 22], (7, 8, 9, 10, 11)]

深復(fù)制是指我們常規(guī)理解的復(fù)制,副本不共享內(nèi)部對(duì)象的引用,是完全獨(dú)立的一個(gè)副本。這可以借助copy.deepcopy來(lái)實(shí)現(xiàn)。

示例:

>>> a = [10, 20]
>>> b = [a, 30]
>>> a.append(b)
>>> a
[10, 20, [[...], 30]]
>>> from copy import deepcopy
>>> c = deepcopy(a)
>>> c
[10, 20, [[...], 30]]

即使是有循環(huán)引用也能正確復(fù)制。

注意copy.copy()是淺復(fù)制,copy.deepcopy()是深復(fù)制。

函數(shù)傳參

Python唯一支持的參數(shù)傳遞模式是共享傳參,也就是指函數(shù)的各個(gè)形式參數(shù)獲得實(shí)參中各個(gè)引用的副本。因?yàn)镻ython的變量全都是引用。對(duì)于不可變對(duì)象來(lái)說(shuō)沒(méi)有問(wèn)題,但是對(duì)于可變對(duì)象就不一樣了。

示例:

>>> def f(a, b):
...     a += b
...     return a
... 

# 數(shù)字不變
>>> x = 1
>>> y = 2
>>> f(x, y)
3
>>> x, y
(1, 2)

# 列表變了
>>> a = [1, 2]
>>> b = [3, 4]
>>> f(a, b)
[1, 2, 3, 4]
>>> a, b
([1, 2, 3, 4], [3, 4])

# 元組不變
>>> t = (10, 20)
>>> u = (30, 40)
>>> f(t, u)
(10, 20, 30, 40)
>>> t, u
((10, 20), (30, 40))

由此可以得出一條警示:函數(shù)參數(shù)盡量不要使用可變參數(shù),如果非用不可,應(yīng)該考慮在函數(shù)內(nèi)部進(jìn)行復(fù)制。

示例:

class TwilightBus:
    """A bus model that makes passengers vanish"""

    def __init__(self, passengers=None):
        if passengers is None:
            self.passengers = []
        else:
            self.passengers = passengers

    def pick(self, name):
        self.passengers.append(name)

    def drop(self, name):
        self.passengers.remove(name)

測(cè)試一下:

>>> basketball_team = ['Sue', 'Tina', 'Maya', 'Diana', 'Pat']
>>> bus = TwilightBus(basketball_team)
>>> bus.drop('Tina')
>>> bus.drop('Pat')
>>> basketball_team
['Sue', 'Maya', 'Diana']

TwilightBus下車(chē)的學(xué)生,竟然從basketball_team中消失了。這是因?yàn)閟elf.passengers引用的是同一個(gè)列表對(duì)象。修改方法很簡(jiǎn)單,復(fù)制個(gè)副本:

 def __init__(self, passengers=None):
        if passengers is None:
            self.passengers = []
        else:
            self.passengers = list(passengers)  # 使用構(gòu)造函數(shù)復(fù)制副本

del和垃圾回收

del語(yǔ)句刪除的是引用,而不是對(duì)象。但是del可能會(huì)導(dǎo)致對(duì)象沒(méi)有引用,進(jìn)而被當(dāng)做垃圾回收。

示例:

>>> import weakref
>>> s1 = {1, 2, 3}
# s2和s1引用同一個(gè)對(duì)象
>>> s2 = s1
>>> def bye():
...     print("Gone")
...     
# 監(jiān)控對(duì)象和調(diào)用回調(diào)
>>> ender = weakref.finalize(s1, bye)
>>> ender.alive
True
# 刪除s1后還存在s2引用
>>> del s1
>>> ender.alive
True
# s2重新綁定導(dǎo)致{1, 2, 3}引用歸零
>>> s2 = "spam"
Gone
# 對(duì)象被銷(xiāo)毀了
>>> ender.alive
False

在CPython中,對(duì)象的引用數(shù)量歸零后,對(duì)象會(huì)被立即銷(xiāo)毀。如果除了循環(huán)引用之外沒(méi)有其他引用,兩個(gè)對(duì)象都會(huì)被銷(xiāo)毀。

弱引用

某些情況下,可能需要保存對(duì)象的引用,但不留存對(duì)象本身。比如,有個(gè)類(lèi)想要記錄所有實(shí)例。這個(gè)需求可以使用弱引用實(shí)現(xiàn)。

比如上面示例中的weakref.finalize(s1, bye),finalize就持有{1, 2, 3}的弱引用,雖然有引用,但是不會(huì)影響對(duì)象被銷(xiāo)毀。

其他使用弱引用的方式是WeakDictionary、WeakValueDictionary、WeakSet。

示例:

class Cheese:

    def __init__(self, kind):
        self.kind = kind

    def __repr__(self):
        return 'Cheese(%r)' % self.kind
>>> import weakref
>>> stock = weakref.WeakValueDictionary()
>>> catalog = [Cheese('Red Leicester'), Cheese('Tilsit'),
...                 Cheese('Brie'), Cheese('Parmesan')]
...
>>> for cheese in catalog:
        # 用作緩存
        # key是cheese.kind
        # value是cheese的弱引用
...     stock[cheese.kind] = cheese
...
>>> sorted(stock.keys())
['Brie', 'Parmesan', 'Red Leicester', 'Tilsit']

# 刪除catalog引用,stock弱引用不影響垃圾回收
# WeakValueDictionary的值引用的對(duì)象被銷(xiāo)毀后,對(duì)應(yīng)的鍵也會(huì)自動(dòng)刪除
>>> del catalog
>>> sorted(stock.keys())  # 還存在一個(gè)cheese臨時(shí)變量的引用
['Parmesan']

# 刪除cheese臨時(shí)變量的引用,stock就完全清空了
>>> del cheese
>>> sorted(stock.keys())
[]

注意不是每個(gè)Python對(duì)象都可以作為弱引用的目標(biāo),比如基本的list和dict就不可以,但是它們的子類(lèi)是可以的:

class MyList(list):
    pass
a_list = MyList(range(10))
weakref_to_a_list = weakref.ref(a_list)

小結(jié)

本文首先闡述了Python變量全部都是引用的這個(gè)事實(shí),這意味著在Python中,簡(jiǎn)單的賦值是不創(chuàng)建副本的。如果要?jiǎng)?chuàng)建副本,可以選擇淺復(fù)制和深復(fù)制,淺復(fù)制使用構(gòu)造方法、[:]copy.copy(),深復(fù)制使用copy.deepcopy()。del刪除的是引用,但是會(huì)導(dǎo)致對(duì)象沒(méi)有引用而被當(dāng)做垃圾回收。有時(shí)候需要保留引用而不保留對(duì)象(比如緩存),這叫做弱引用,weakref庫(kù)提供了相應(yīng)的實(shí)現(xiàn)。

參考資料:

《流暢的Python》

到此這篇關(guān)于Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)的文章就介紹到這了,更多相關(guān)Python變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python定義變量類(lèi)型
  • Python激活A(yù)naconda環(huán)境變量的詳細(xì)步驟
  • python 實(shí)現(xiàn)兩個(gè)變量值進(jìn)行交換的n種操作
  • Python全局變量global關(guān)鍵字詳解
  • python子類(lèi)如何繼承父類(lèi)的實(shí)例變量

標(biāo)簽:清遠(yuǎn) 吉林 岳陽(yáng) 泉州 安慶 長(zhǎng)春 洛陽(yáng) 怒江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)》,本文關(guān)鍵詞  Python,基礎(chǔ),之,變量,的,相關(guān),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    蜜臀国产一区二区三区在线播放| 欧美在线视频二区| 日韩一区在线视频| 中文字幕国产综合| 91偷拍一区二区三区精品| 国产免费拔擦拔擦8x在线播放| 成人做爰69片免费| 成人三级av在线| 国产sm主人调教女m视频| 风间由美中文字幕在线看视频国产欧美| 国产精品xx| 亚洲女同在线| 69av二区| 99re6热在线精品视频播放| 蜜桃导航-精品导航| av美女在线观看| 操操操日日日| 教室别恋欧美无删减版| 中文字幕乱码无码人妻系列蜜桃| av片在线观看免费| 国产免费成人在线| 精品视频vs精品视频| 欧美日韩国产综合在线| 久久久久久久国产| 日本高清视频一区二区三区| 在线中文免费视频| 天堂网在线观看在线观看精品| 精品国产区一区二区三区在线观看| 精品久久久久久久中文字幕| 成 人片 黄 色 大 片| 欧美性理论片在线观看片免费| 狠狠操在线视频| 日本精品久久久久中文字幕| 日一区二区三区| 欧美性受xxxx黑人爽| 亚洲成人黄色在线观看| 成人嫩草影院免费观看| 亚洲精品自拍视频| 成年人在线免费| 精品视频第一区| 97精品国产一区二区三区| 亚洲妇女无套内射精| 久久久久久国产精品日本| 免费在线一级视频| 精品国产露脸精彩对白| 视频免费在线观看| 亚洲AV无码精品自拍| 亚洲精品久久久中文字幕| 精品视频1区2区| 欧美日本国产精品| 超清福利视频| 国产最新在线| 中国大陆高清aⅴ毛片| 蜜桃视频一区二区三区| 另类图片亚洲色图| 男男做性免费视频网| 一区二区三区福利| 午夜在线视频免费观看| 欧美浪妇xxxx高跟鞋交| 亚洲一区导航| 九九视频在线观看| 中文无字幕一区二区三区| 日韩精品永久网址| 午夜一区二区三区在线观看| 亚洲熟妇无码一区二区三区| 久久综合狠狠综合久久综合88| 久久人人97超碰人人澡爱香蕉| 日韩成人一区二区| 欧美亚洲免费高清在线观看| 小泽玛利亚av在线| 在线综合亚洲欧美在线视频| 2018日韩中文字幕| 国产欧美亚洲日本| 女人体1963| 视频在线你懂的| 情趣网站在线观看| av网站大全在线观看| 91短视频版在线观看www免费| 久久国产中文字幕| 美腿丝袜亚洲综合| 7777精品伊人久久久大香线蕉超级流畅| 国产视频在线观看一区| 毛片网站免费哦| 免费在线观看日韩av| 中文字幕日韩一区二区不卡| 亚洲网友自拍偷拍| 精品久久久久久国产| 国产日产精品_国产精品毛片| **欧美大码日韩| 久久精品国产sm调教网站演员| 一区二区三区视频观看| 操91在线视频| 麻豆视频免费在线观看| 日韩国产成人精品| 在线免费观看av电影| 日本一区二区视频在线| 99在线小视频| 欧美专区日韩视频| av网址观看| 福利电影一区| 久久毛片高清国产| 国产精品视频色| 久久夜色精品亚洲噜噜国产mv| 精品一区二区三区久久| 激情视频国产| 青青在线视频一区二区三区| 日韩精品丝袜美腿| 国产一级片中文字幕| 人人爱人人干婷婷丁香亚洲| 91精品国产综合久久久久久蜜臀| 91色九色蝌蚪| 国产精品视频自在线| 亚洲黄一区二区| 国产精品久久综合青草亚洲AV| 久久视频精品在线| 亚洲乱码一区二区三区在线观看| 天天做天天爱天天爽综合网| 欧美精品久久| 欧美久久在线观看| 国产精品露脸自拍| 另类小说综合欧美亚洲| 综合一区在线| 亚洲综合久久av| 久久影院午夜精品| 日韩精品一线二线三线| 黄色成人免费看| 女人黄色一级片| 青青在线视频观看| 伊人网综合视频| 久久精品亚洲国产| 91丨porny丨九色| 日本黄xxxxxxxxx100| eeuss影院www在线| 奇米影视四色在线| 欧美精品一区二区三区一线天视频| 欧美日韩一卡二卡| 林ゆな中文字幕一区二区| 亚洲欧美色视频| 国内精久久久久久久久久人| 国产成人精品免高潮费视频| 亚洲狼人精品一区二区三区| 国产精品极品美女粉嫩高清在线| 日韩一区av在线| 亚洲欧美日本另类| 一区二区三区毛片| 久久精品一区中文字幕| 国产极品人妖在线观看| 污视频在线观看网站| www一区二区www免费| 在线一级视频| 特种兵之深入敌后| 国产精品高潮呻吟久久| 亚洲欧洲综合另类在线| 中文字幕一区二区在线观看视频| 视频三区在线观看| 亚洲男人的天堂av| 欧美丰满美乳xxx高潮www| 日本视频在线播放| 免费在线你懂的| 全色精品综合影院| 嫩草影院网站在线| 性感美女极品91精品| 久久手机精品视频| 精品中文字幕不卡在线视频| 午夜视频在线观看一区| 国产欧美一区二区三区鸳鸯浴| 成人亚洲免费视频| 国产盗摄在线视频网站| 亚洲综合欧美综合| 久久久精品视频国产| 欧美优质美女网站| 一本久久a久久免费精品不卡| 一区二区高清在线| 欧美黄色免费视频| 一区中文字幕电影| 国产精品久久久久久久久久新婚| 国产 福利 在线| 精品国产一区二区三区小蝌蚪| 国产精品视频永久免费播放| 99香蕉久久| 草草视频在线一区二区| 日韩在线一区二区三区免费视频| 日韩精品极品视频在线观看免费| 国产h视频在线观看| 麻豆mv在线观看| 亚洲午夜在线观看视频在线| 绯色av一区二区| 波多野结衣xxxx| 性欧美8khd高清极品| 精品国产99久久久久久宅男i| 蜜臀久久久久久久| 亚洲成人精品一区二区三区| 免费看污网站| 欧美人与z0zoxxxx视频| 91精品国产综合久久久久久久| 久久大综合网| 手机av免费看| 亚洲美女15p| 久久无码人妻精品一区二区三区| 91黑人精品一区二区三区| 日韩欧美中文字幕视频| 日本熟妇乱子伦xxxx| 三级欧美日韩| 高清国产一区二区三区四区五区| 国产在线播放你懂的| 色综合99久久久无码国产精品| 91av资源在线| 久久亚洲精品一区二区| 神马午夜在线视频| 高清无码一区二区在线观看吞精| 精品国产av无码一区二区三区| 91吃瓜网在线观看| 国产黄色高清视频| 亚洲视频网站在线观看| 国产精品免费视频网站| h视频在线观看网站| 亚洲免费视频中文字幕| 精品国精品国产尤物美女| 中国女人一级毛片| 国产精品久久久久久久久久小说| 伊人网综合视频| 亚洲精品自拍视频| 日韩在线第一区| 国产a久久麻豆| 欧美色婷婷天堂网站| 精品一区毛片| 女人18毛片水真多免费播放| 久久国产精品亚洲人一区二区三区| 免费男女羞羞的视频网站中文字幕| 国产无套丰满白嫩对白| 日韩欧美高清一区二区三区| 黄色免费直接看| 999精品在线视频| 日韩美女主播在线视频一区二区三区| 欧美激情一区二区三区不卡| 男人的天堂亚洲| 欧美日韩在线观看不卡| 亚洲国产高清在线观看视频| 成人综合在线网站| av天天在线| 亚洲黄色小说网| 日本国产精品视频| 可以在线观看的av网站| 91美女视频在线| 在线国产91| 一区二区三区视频在线| 91蜜桃视频在线观看| 一级片一区二区三区| 日本福利视频导航| 99re8在线精品视频免费播放| 国产馆手机在线观看| 日本一区二区三区精品| 爱看av在线| 全亚洲第一av番号网站| 精品国产美女福利到在线不卡| 丰满人妻av一区二区三区| www.嫩草免费在线观看| 欧美黄色性视频| 免费久久99精品国产自在现线| 欧美日韩色网| 国内精品福利| 乐播av一区二区三区| 你懂的网址国产 欧美| 亚洲精选一二三| av在线女优影院| 日韩在线你懂的| 香蕉视频久久久| 午夜一区二区三区四区| 91电影在线| 在线看的黄色网址| 欧美做受高潮电影o| 在线中文字幕视频| 欧美黄色录像| 自拍亚洲欧美老师丝袜| 一本久久精品一区二区| 天天视频一区二区三区| 日韩电影在线观看中文字幕| 国产精品99蜜臀久久不卡二区| 欧美有码在线观看视频| 哪个网站能看毛片| 亚洲精品动漫久久久久| 久久成人在线观看| 国产伦精品一区二区三区视频女| 91精品国产高清久久久久久久久| 一区二区三区电影网| 色综合影院在线观看| 九色porny在线| 99视频只有精品| 国产精品实拍| 欧一区二区三区| 国产偷人妻精品一区二区在线| 亚洲精品九九| 丰满少妇xoxoxo视频| 亚洲成人亚洲激情| 成在线人视频免费视频| 午夜裸体女人视频网站在线观看| av中文字幕在线播放| 人妻少妇一区二区三区| eeuss第一页| 欧美第一淫aaasss性| 最全影音av资源中文字幕在线| 中文字幕欧美日韩精品| 国产欧美久久久久| 欧美中文字幕一区二区三区| 亚洲欧美三级在线| 每日在线更新av| 免费永久在线观看黄网| 亚洲熟女乱综合一区二区| 日本中文字幕一区二区视频| 一区二区三区四区在线视频| 欧美成人精品| 日韩色av导航| eeuss鲁片一区二区三区在线观看| h网址在线观看| 高清一区二区三区四区| 亚洲精品免费一二三区| 亚洲福利国产精品| 激情视频小说图片| 神马影院午夜我不卡影院| 精油按摩中文字幕久久| 欧美视频13p| 欧美精品亚洲精品日韩精品| 亚洲成熟女性毛茸茸| www.激情五月.com| 性久久久久久久久| 日本伊人精品一区二区三区介绍| 成人免费一区| 国产精品青草久久|