中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

通遼網(wǎng)站建設(shè)tlyltdwindows優(yōu)化大師win10

通遼網(wǎng)站建設(shè)tlyltd,windows優(yōu)化大師win10,網(wǎng)站后臺(tái)配置,設(shè)計(jì)網(wǎng)站的企業(yè)嗨害大家好鴨!我是小熊貓~ 一、賦值 Python中, 對(duì)象的賦值都是進(jìn)行對(duì)象引用(內(nèi)存地址)傳遞, 賦值(), 就是創(chuàng)建了對(duì)象的一個(gè)新的引用, 修改其中任意一個(gè)變量都會(huì)影響到另一個(gè) will …

嗨害大家好鴨!我是小熊貓~

請(qǐng)?zhí)砑訄D片描述

一、賦值

Python中,
對(duì)象的賦值都是進(jìn)行對(duì)象引用(內(nèi)存地址)傳遞,
賦值(=),
就是創(chuàng)建了對(duì)象的一個(gè)新的引用,
修改其中任意一個(gè)變量都會(huì)影響到另一個(gè)

will = ["Will", 28, ["Python", "C#", "JavaScript"]]
wilber = will #python學(xué)習(xí)交流裙:660193417
print('will>>', will, id(will))
print('wilber>>', wilber, id(wilber))
print('will的各個(gè)元素id>>', [id(ele) for ele in will])
print('wilber的各個(gè)元素id>>',[id(ele) for ele in wilber])
print('---'*30)
will[0] = "Wilber"
will[2].append("CSS")
print('will>>', will, id(will))
print('wilber>>', wilber, id(wilber))
print('will的各個(gè)元素id>>', [id(ele) for ele in will])
print('wilber的各個(gè)元素id>>',[id(ele) for ele in wilber])
#輸出為
will>> ['Will', 28, ['Python', 'C#', 'JavaScript']] 43988040
wilber>> ['Will', 28, ['Python', 'C#', 'JavaScript']] 43988040
will的各個(gè)元素id>> [31326928, 493056320, 43988808]
wilber的各個(gè)元素id>> [31326928, 493056320, 43988808]
------------------------------------------------------------------------------------------
will>> ['Wilber', 28, ['Python', 'C#', 'JavaScript', 'CSS']] 43988040
wilber>> ['Wilber', 28, ['Python', 'C#', 'JavaScript', 'CSS']] 43988040
will的各個(gè)元素id>> [44016672, 493056320, 43988808]
wilber的各個(gè)元素id>> [44016672, 493056320, 43988808]

源碼資料電子書(shū):點(diǎn)擊此處跳轉(zhuǎn)文末名片獲取


二、淺拷貝

淺拷貝會(huì)創(chuàng)建一個(gè)新的對(duì)象,
這個(gè)例子中”wilber is not will”但是,
對(duì)于對(duì)象中的元素,
淺拷貝就只會(huì)使用原始元素的引用(內(nèi)存地址),
也就是說(shuō)”wilber[i] is will[i]”

當(dāng)對(duì)will進(jìn)行修改的時(shí)候:
由于list的第一個(gè)元素是不可變類(lèi)型,
所以will對(duì)應(yīng)的list的第一個(gè)元素會(huì)使用一個(gè)新的對(duì)象39758496;

但是list的第三個(gè)元素是一個(gè)可變類(lèi)型,
修改操作不會(huì)產(chǎn)生新的對(duì)象,所以will的修改結(jié)果會(huì)相應(yīng)的反應(yīng)到wilber

淺拷貝:

創(chuàng)建一個(gè)新的對(duì)象,
但它包含的是對(duì)原始對(duì)象中包含項(xiàng)的引用
(如果用引用的方式修改其中一個(gè)對(duì)象,另外一個(gè)也會(huì)修改改變)
{1,完全切片方法;2,工廠函數(shù),如list();3,copy模塊的copy()函數(shù)}

切片也是淺拷貝

import copy
will = ["Will", 28, ["Python", "C#", "JavaScript"]]
wilber = copy.copy(will)
print('will>>   ', will, id(will))
print('wilber>> ', wilber, id(wilber))
print('will的各個(gè)元素id>>  ', [id(ele) for ele in will])
print('wilber的各個(gè)元素id>>',[id(ele) for ele in wilber])
print('---'*30)
will[0] = "Wilber"
will[2].append("CSS")
print('will>>   ', will, id(will))
print('wilber>> ', wilber, id(wilber))
print('will的各個(gè)元素id>>  ', [id(ele) for ele in will])
print('wilber的各個(gè)元素id>>',[id(ele) for ele in wilber])#輸出為
will>>    ['Will', 28, ['Python', 'C#', 'JavaScript']] 43862024
wilber>>  ['Will', 28, ['Python', 'C#', 'JavaScript']] 43861896
will的各個(gè)元素id>>   [31261392, 493056320, 43862088]
wilber的各個(gè)元素id>> [31261392, 493056320, 43862088]
------------------------------------------------------------------------------------------
will>>    ['Wilber', 28, ['Python', 'C#', 'JavaScript', 'CSS']] 43862024
wilber>>  ['Will', 28, ['Python', 'C#', 'JavaScript', 'CSS']] 43861896
will的各個(gè)元素id>>   [43886384, 493056320, 43862088]
wilber的各個(gè)元素id>> [31261392, 493056320, 43862088]

請(qǐng)?zhí)砑訄D片描述


三、深拷貝

跟淺拷貝類(lèi)似,深拷貝也會(huì)創(chuàng)建一個(gè)新的對(duì)象,
這個(gè)例子中”wilber is not will” 但是,
對(duì)于對(duì)象中的元素,
深拷貝都會(huì)重新生成一份(有特殊情況,下面會(huì)說(shuō)明),
而不是簡(jiǎn)單的使用原始元素的引用(內(nèi)存地址)

深拷貝:

創(chuàng)建一個(gè)新的對(duì)象,
并且遞歸的復(fù)制它所包含的對(duì)象
(修改其中一個(gè),另外一個(gè)不會(huì)改變)
{copy模塊的deep.deepcopy()函數(shù)}

import copy
will = ["Will", 28, ["Python", "C#", "JavaScript"]]
wilber = copy.deepcopy(will)
print('will>>   ', will, id(will))
print('wilber>> ', wilber, id(wilber))
print('will的各個(gè)元素id>>  ', [id(ele) for ele in will])
print('wilber的各個(gè)元素id>>',[id(ele) for ele in wilber])
print('---'*30)
will[0] = "Wilber"
will[2].append("CSS")
print('will>>   ', will, id(will))
print('wilber>> ', wilber, id(wilber))
print('will的各個(gè)元素id>>  ', [id(ele) for ele in will])
print('wilber的各個(gè)元素id>>',[id(ele) for ele in wilber])
# 輸出為
will>>    ['Will', 28, ['Python', 'C#', 'JavaScript']] 37373960
wilber>>  ['Will', 28, ['Python', 'C#', 'JavaScript']] 37373832
will的各個(gè)元素id>>   [31195856, 493056320, 37374024]
wilber的各個(gè)元素id>> [31195856, 493056320, 37373768]
------------------------------------------------------------------------------------------
will>>    ['Wilber', 28, ['Python', 'C#', 'JavaScript', 'CSS']] 37373960
wilber>>  ['Will', 28, ['Python', 'C#', 'JavaScript']] 37373832
will的各個(gè)元素id>>   [37398264, 493056320, 37374024]
wilber的各個(gè)元素id>> [31195856, 493056320, 37373768]

四、特殊情況

對(duì)于非容器類(lèi)型
(如數(shù)字、字符串、和其他’原子’類(lèi)型的對(duì)象)
沒(méi)有拷貝這一說(shuō)
也就是說(shuō),
對(duì)于這些類(lèi)型,
”obj is copy.copy(obj)” 、”obj is copy.deepcopy(obj)”
如果元祖變量只包含原子類(lèi)型對(duì)象,則不能深拷貝,看下面的例子

在這里插入圖片描述
在這里插入圖片描述

import copy
books=('a','b','c')
books1,books2 =  copy.copy(books),copy.deepcopy(a)
>>books is books1 is books2
# truea = 'python'
b,c = copy.copy(a),copy.deepcopy(a)
In [19]: a is b is c
Out[19]: True
In [20]: id(a),id(b),id(c)
Out[20]: (55466056, 55466056, 55466056)In [30]: t1=('a','b','c',['d'])In [31]: t2,t3 =  copy.copy(t1),copy.deepcopy(t1)In [32]: t1 is t2 is t3
Out[32]: FalseIn [33]: id(t1), id(t2), id(t3)
Out[33]: (89247560, 89247560, 88537672)

Python中對(duì)象的賦值都是進(jìn)行對(duì)象引用(內(nèi)存地址)
傳遞
使用copy.copy(),
可以進(jìn)行對(duì)象的淺拷貝,
它復(fù)制了對(duì)象,但對(duì)于對(duì)象中的元素,
依然使用原始的引用.
如果需要復(fù)制一個(gè)容器對(duì)象,
以及它里面的所有元素(包含元素的子元素),
可以使用copy.deepcopy()進(jìn)行深拷貝
對(duì)于非容器類(lèi)型
(如數(shù)字、字符串、和其他’原子’類(lèi)型的對(duì)象)
沒(méi)有被拷貝一說(shuō)
如果元祖變量只包含原子類(lèi)型對(duì)象,則不能深拷貝

1.列表的淺拷貝示例

import copy
a = [1,2,3,4,['a','b']] #定義一個(gè)列表a
b = a #賦值
c = copy.copy(a) #淺拷貝
d = copy.deepcopy(a) #深拷貝
a.append(5)
a[0] = '10'
print('A0',a,id(a))# [1, 2, 3, 4, ['a', 'b'], 5] #a添加一個(gè)元素5
print('B0',b,id(b))
# [1, 2, 3, 4, ['a', 'b'], 5] #b跟著添加一個(gè)元素5
print('C0',c,id(c))
# [1, 2, 3, 4, ['a', 'b']] #c保持不變
print('D0',d,id(d))
# [1, 2, 3, 4, ['a', 'b']] #d保持不變
a[4].append('c')
a[4][1]='ASDF'
print('A1',a,id(a))
# [1, 2, 3, 4, ['a', 'b', 'c'], 5] #a中的list(即a[4])添加一個(gè)元素c
print('B1',b,id(a))
# [1, 2, 3, 4, ['a', 'b', 'c'], 5] #b跟著添加一個(gè)元素c
print('C1',c,id(c))
# [1, 2, 3, 4, ['a', 'b', 'c']] #c跟著添加一個(gè)元素c
print('D1',d,id(d))
[1, 2, 3, 4, ['a', 'b']] #d保持不變

2.單個(gè)列表的copy

names = ['alex','jack','1','mack','racheal','shanshan']
n2 = names
n3 = names.copy()
n4 = names[:]print('第一輪','names',names,id(names))
print('第一輪','n2',n2,id(n2))
print('第一輪','n3',n3,id(n3))
print('第一輪','n4',n4,id(n4))names.append('hery')
names[0]="Alex"
print('第二輪','names',names,id(names))
print('第二輪','n2',n2,id(n2))
print('第二輪','n3',n3,id(n3))
print('第二輪','n4',n4,id(n4))

輸出:

第一輪 names ['alex', 'jack', '1', 'mack', 'racheal', 'shanshan'] 167690376
第一輪 n2 ['alex', 'jack', '1', 'mack', 'racheal', 'shanshan'] 167690376
第一輪 n3 ['alex', 'jack', '1', 'mack', 'racheal', 'shanshan'] 167692616
第一輪 n4 ['alex', 'jack', '1', 'mack', 'racheal', 'shanshan'] 167713928
第二輪 names ['Alex', 'jack', '1', 'mack', 'racheal', 'shanshan', 'hery'] 167690376
第二輪 n2 ['Alex', 'jack', '1', 'mack', 'racheal', 'shanshan', 'hery'] 167690376
第二輪 n3 ['alex', 'jack', '1', 'mack', 'racheal', 'shanshan'] 167692616
第二輪 n4 ['alex', 'jack', '1', 'mack', 'racheal', 'shanshan'] 167713928

3.字符串的copy

import copy
name="hahah"   #字符串
name1=copy.copy(name)
name2=copy.deepcopy(name)
print('第一次',id(name),id(name1),id(name2))sum=111   #數(shù)字
sum1=copy.copy(sum)
sum2=copy.deepcopy(sum)
print('第二次',id(sum),id(sum1),id(sum2))

輸出:

第一次 31179752 31179752 31179752
第二次 1702001568 1702001568 1702001568

4.字典的copy

import copy
call = {'cpu':[80,25],'mem':[80,],'disk':[80,]
}
new_call_1 = copy.copy(call)
new_call_2 = copy.deepcopy(call)
print('修改前call1為:%s' %(call),id(call))
# #修改新模版
call['disk'] = 66
call['disk_2'] = 67
call['cpu'].append(20)
call['cpu'][1]=11
new_call_1['cpu'].append(33)
new_call_1['disk'][0] = 77
new_call_1['mem'] = 75
new_call_2['disk'][0] = 79
# #查看新舊模版的值
print('call1為:%s' %(call),id(call))
print('new_call_1為:%s' %(new_call_1),id(new_call_1))
print('new_call_2為:%s' %(new_call_2),id(new_call_2))

輸出:

修改前call1為:{'cpu': [80, 25], 'mem': [80], 'disk': [80]} 4411328
call1為:{'cpu': [80, 11, 20, 33], 'mem': [80], 'disk': 66, 'disk_2': 67} 4411328
new_call_1為:{'cpu': [80, 11, 20, 33], 'mem': 75, 'disk': [77]} 4452424
new_call_2為:{'cpu': [80, 25], 'mem': [80], 'disk': [79]} 31977616

Python 打印進(jìn)度條

import time
for i in range(0,101,2):time.sleep(0.1)char_num = i//2      #打印多少個(gè)'*'per_str = '\r%s%% : %s\n' % (i, '>>>' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)print(per_str,end='', flush=True)

👇問(wèn)題解答 · 源碼獲取 · 技術(shù)交流 · 抱團(tuán)學(xué)習(xí)請(qǐng)聯(lián)系👇

請(qǐng)?zhí)砑訄D片描述

http://www.risenshineclean.com/news/38105.html

相關(guān)文章:

  • 網(wǎng)站怎么做排名長(zhǎng)沙網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣公司
  • 紹興網(wǎng)站建設(shè)設(shè)計(jì)完整html網(wǎng)頁(yè)代碼案例
  • 醫(yī)院網(wǎng)站建設(shè)預(yù)算注冊(cè)公司
  • 可以做批發(fā)的跨境電商網(wǎng)站平臺(tái)今日頭條新聞手機(jī)版
  • 網(wǎng)站關(guān)鍵詞搜不到站長(zhǎng)seo
  • 建企業(yè)網(wǎng)站需要哪些資料百度聯(lián)盟注冊(cè)
  • 中國(guó)中小企業(yè)網(wǎng)站官網(wǎng)運(yùn)營(yíng)推廣計(jì)劃
  • 湖北seo網(wǎng)站多少錢(qián)蘇州網(wǎng)站優(yōu)化排名推廣
  • 教學(xué)網(wǎng)站系統(tǒng)流程圖公司百度官網(wǎng)優(yōu)化
  • 中企網(wǎng)站建設(shè)app推廣軟件
  • 做兼職的網(wǎng)站 知乎如何制作視頻網(wǎng)站
  • 委托設(shè)計(jì)網(wǎng)站 要注意哪些問(wèn)題哈爾濱關(guān)鍵詞排名工具
  • 杭州網(wǎng)站搜索排名國(guó)內(nèi)建站平臺(tái)
  • 做一個(gè)個(gè)人網(wǎng)站多少錢(qián)企業(yè)網(wǎng)站快速建站
  • 那里可以做旅游網(wǎng)站的嗎我們公司在做網(wǎng)站推廣
  • 線上線下購(gòu)物商城系統(tǒng)衡陽(yáng)seo快速排名
  • 國(guó)內(nèi)做的比較好的網(wǎng)站360優(yōu)化大師
  • 網(wǎng)站的透明圖片怎么做網(wǎng)絡(luò)服務(wù)主要包括
  • 網(wǎng)站開(kāi)發(fā)定義名稱(chēng)app優(yōu)化推廣
  • 怎么做網(wǎng)站推廣臨沂關(guān)鍵詞排名手機(jī)優(yōu)化軟件
  • 做網(wǎng)站用c語(yǔ)言可以嗎某個(gè)網(wǎng)站seo分析實(shí)例
  • 電腦版和手機(jī)版網(wǎng)站怎么做的營(yíng)銷(xiāo)推廣策劃方案范文
  • 昆明免費(fèi)網(wǎng)站制作南昌seo技術(shù)外包
  • 鄭州公共住宅建設(shè)投資有限公司網(wǎng)站一站式媒體發(fā)稿平臺(tái)
  • 1000學(xué)習(xí)做網(wǎng)站貴嗎搜索關(guān)鍵詞推薦
  • 網(wǎng)站建設(shè)報(bào)價(jià)明細(xì)表seo優(yōu)化運(yùn)營(yíng)
  • 廈門(mén)建站服務(wù)百度付費(fèi)推廣的費(fèi)用
  • 自助建站門(mén)戶(hù)網(wǎng)站東莞網(wǎng)絡(luò)優(yōu)化公司
  • 買(mǎi)模板建設(shè)網(wǎng)站亞馬遜關(guān)鍵詞工具哪個(gè)最準(zhǔn)
  • 電商 做圖 網(wǎng)站網(wǎng)站數(shù)據(jù)分析