Python賦值操作或函數(shù)參數(shù)傳遞,傳遞的永遠(yuǎn)是對(duì)象引用(即內(nèi)存地址),而不是對(duì)象內(nèi)容。在Python中一切皆對(duì)象,對(duì)象又分為可變(mutable)和不可變(immutable)兩種類型。對(duì)象拷貝是指在內(nèi)存中創(chuàng)建新的對(duì)象,產(chǎn)生新的內(nèi)存地址。當(dāng)頂層對(duì)象和它的子元素對(duì)象全都是immutable不可變對(duì)象時(shí),不存在被拷貝,因?yàn)闆](méi)有產(chǎn)生新對(duì)象。淺拷貝(Shallow Copy),拷貝頂層對(duì)象,但不會(huì)拷貝內(nèi)部的子元素對(duì)象。深拷貝(Deep Copy),遞歸拷貝頂層對(duì)象,以及它內(nèi)部的子元素對(duì)象。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括昌邑網(wǎng)站建設(shè)、昌邑網(wǎng)站制作、昌邑網(wǎng)頁(yè)制作以及昌邑網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,昌邑網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到昌邑省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Python中一切皆對(duì)象,對(duì)象就像一個(gè)塑料盒子, 里面裝的是數(shù)據(jù)。對(duì)象有不同類型,例如布爾型和整型,類型決定了可以對(duì)它進(jìn)行的操作?,F(xiàn)實(shí)生活中的"陶器"會(huì)暗含一些信息(例如它可能很重且易碎,注意不要掉到地上)。
對(duì)象的類型還決定了它裝著的數(shù)據(jù)是允許被修改的變量(可變的mutable)還是不可被修改的常量(不可變的immutable)。你可以把不可變對(duì)象想象成一個(gè)透明但封閉的盒子:你可以看到里面裝的數(shù)據(jù),但是無(wú)法改變它。類似地,可變對(duì)象就像一個(gè)開(kāi)著口的盒子,你不僅可以看到里面的數(shù)據(jù),還可以拿出來(lái)修改它,但你無(wú)法改變這個(gè)盒子本身,即你無(wú)法改變對(duì)象的類型。
對(duì)象拷貝是指在內(nèi)存中創(chuàng)建新的對(duì)象,產(chǎn)生新的內(nèi)存地址。
淺拷貝(Shallow Copy),拷貝頂層對(duì)象,但不會(huì)拷貝內(nèi)部的子元素對(duì)象。
2.1.1. 頂層是mutable,子元素全是immutable
當(dāng)頂層對(duì)象是mutable可變對(duì)象,但是它的子元素對(duì)象全都是immutable不可變對(duì)象時(shí),如[1, 'world', 2]
① 創(chuàng)建列表對(duì)象并賦值給變量a
② 導(dǎo)入copy模塊,使用copy.copy()函數(shù)淺拷貝a,并賦值給變量b
③ 修改變量a的子元素a[0] = 3,由于整數(shù)是不可變對(duì)象,所以并不是修改1變?yōu)?,而是更改a[0]指向?qū)ο?
當(dāng)頂層對(duì)象是 mutable可變對(duì)象 ,但子元素也存在 mutable可變對(duì)象 時(shí),如 [1, 2, ['hello','world']]
① 淺拷貝 copy.copy() 只拷貝了頂層對(duì)象,沒(méi)有拷貝子元素對(duì)象['hello','world'],即a[2]和b[2]指向同一個(gè)列表對(duì)象
② 修改a[2][1] = 'china',則b[2][1] = 'china'
當(dāng)頂層對(duì)象是immutable不可變對(duì)象,同時(shí)它的子元素對(duì)象也全都是immutable不可變對(duì)象時(shí),如(1, 2, 3)
變量a與變量b指向的是同一個(gè)元組對(duì)象,沒(méi)有拷貝
當(dāng)頂層對(duì)象是immutable不可變對(duì)象時(shí),但子元素存在mutable可變對(duì)象時(shí),如(1, 2, ['hello','world'])
變量a與變量b指向的是相同的元組對(duì)象,并且a[2]與b[2]指向同一個(gè)列表,所以修改a[2][1]會(huì)影響b[2][1]
深拷貝(Deep Copy),遞歸拷貝頂層對(duì)象,以及它內(nèi)部的子元素對(duì)象
當(dāng)頂層對(duì)象是mutable可變對(duì)象,但是它的子元素對(duì)象全都是immutable不可變對(duì)象時(shí),如[1, 'world', 2]
變量a與變量b指向不同的列表對(duì)象,修改a[0]只是將列表a的第一個(gè)元素重新指向新對(duì)象,不會(huì)影響b[0]
當(dāng)頂層對(duì)象是mutable可變對(duì)象,但子元素也存在mutable可變對(duì)象時(shí),如[1, 2, ['hello','world']]
深拷貝既拷貝了頂層對(duì)象,又遞歸拷貝了子元素對(duì)象,所以a[2]與b[2]指向了兩個(gè)不同的列表對(duì)象(但是列表對(duì)象的子元素初始指定的字符串對(duì)象一樣),修改a[2][1] = 'china'后,它重新指向了新的字符串對(duì)象(內(nèi)存地址為140531581905808),不會(huì)影響到b[2][1]
當(dāng)頂層對(duì)象是immutable不可變對(duì)象,同時(shí)它的子元素對(duì)象也全都是immutable不可變對(duì)象時(shí),如(1, 2, 3)
變量a與變量b指向的是同一個(gè)元組對(duì)象,不存在拷貝
當(dāng)頂層對(duì)象是immutable不可變對(duì)象時(shí),但子元素存在mutable可變對(duì)象時(shí),如(1, 2, ['hello','world'])
變量a與變量b指向的是不同的元組對(duì)象,同時(shí)a[2]與b[2]指向不同的列表對(duì)象,所以修改a[2][1]不會(huì)影響b[2][1]
使用=是賦值,即將列表對(duì)象的引用也賦值給變量b,可以將列表對(duì)象想像成一個(gè)盒子,變量a相當(dāng)于這個(gè)盒子上的標(biāo)簽,執(zhí)行b = a后,相當(dāng)于再在這個(gè)盒子上貼上b標(biāo)簽,a和b實(shí)際上指向的是同一個(gè)對(duì)象。因此,無(wú)論我們是通過(guò)a還是通過(guò)b來(lái)修改列表的內(nèi)容,其結(jié)果都會(huì)作用于雙方。
b/c/d都是a的復(fù)制,它們都指向了不同的列表對(duì)象,但是沒(méi)有拷貝子元素,a[2]和b[2]/c[2]/d[2]指向同一個(gè)列表, 相當(dāng)于淺拷貝的效果
使用分片[:]操作,a和b其實(shí)是指向同一個(gè)元組,而且沒(méi)有拷貝子元素,a[2]和b[2]也指向同一個(gè)列表,相當(dāng)于淺拷貝的效果
同列表類似,可以使用字典的copy()函數(shù)或者轉(zhuǎn)換函數(shù)dict()
變量a與變量b/c指向不同的字典,但是沒(méi)有拷貝子元素,a['jobs']和b['jobs']/c['jobs']指定同一個(gè)列表, 相當(dāng)于淺拷貝的效果
同列表類似,可以使用集合的copy()函數(shù)或者轉(zhuǎn)換函數(shù)set()
變量a與變量b/c指向不同的集合,而集合的元素必須是hashable,所以修改集合a不會(huì)影響到b/c
對(duì)于Python的初學(xué)者,在對(duì)象的使用過(guò)程中,由于對(duì)變量的賦值和對(duì)象的復(fù)制中的概念模糊,導(dǎo)致程序出錯(cuò)。
例如,下面的代碼:
輸出結(jié)果為:
a = [6,2,3,4,5],
b = [6,2,3,4,5],
c = [1,2,3,4,5]
a等于b?True
a等于c?True
a是b?True
a是c? False
可以看到,a,b, c所指向的對(duì)象的值都相同(a==b為T(mén)rue). a和b都是代表同一個(gè)對(duì)象(a is b為T(mén)rue)。當(dāng)我們通過(guò)變量b對(duì)該列表進(jìn)行修改時(shí),由于a也指向該列表,所以當(dāng)打印a,b時(shí),我們得到相同的值。 而a和c則是代表不同的對(duì)象(a is c為False),所以修改b所指向得列表不會(huì)改變c梭子鄉(xiāng)的列表的值.
在Python中,所有的變量都代表了對(duì)象,即便是簡(jiǎn)單的數(shù)字類型(int, float, bool),也是以對(duì)象的形式存在的。我們看下面的代碼:
輸出結(jié)果是:
a==b為T(mén)rue
a is b為T(mén)rue
可見(jiàn),a, b都是指向同一個(gè)對(duì)象。接下來(lái),進(jìn)行下面的操作,
輸出結(jié)果是:
a = 1, b = 2
a is b為False
與前面的列表不同,當(dāng)我們對(duì)b做修改時(shí),實(shí)際上是給b賦予了一個(gè)新生成的對(duì)象,對(duì)數(shù)值類型來(lái)說(shuō),所有的數(shù)值運(yùn)算都會(huì)創(chuàng)建一個(gè)數(shù)值對(duì)象,并將這個(gè)對(duì)象指定給變量。因此,a與b指向了不同的對(duì)象,數(shù)值也不同。
再回過(guò)頭來(lái)看列表對(duì)象,
我們知道,b是與a指向同一對(duì)象的變量,使用b對(duì)該對(duì)象進(jìn)行修改,與使用a對(duì)該對(duì)象進(jìn)行修改,效果是完全一樣的。如果我們需要需要一個(gè)與a完全相同又與a相互獨(dú)立的列表,那么就需要復(fù)制這個(gè)對(duì)象,也就是新建一個(gè)內(nèi)容和源對(duì)象相同的對(duì)象。
對(duì)于列表來(lái)說(shuō),最簡(jiǎn)單的復(fù)制方法是通過(guò)下標(biāo)索引的方式創(chuàng)建新的列表:
對(duì)于各種數(shù)據(jù)類型通用的對(duì)象拷貝復(fù)制,我們可以使用python內(nèi)建的copy模塊。
對(duì)于復(fù)雜對(duì)象(如嵌套列表)的復(fù)制,則需要注意區(qū)分淺拷貝和深拷貝。我們來(lái)看下面的代碼:
得到的結(jié)果是:
a[0] is b[0]為 True
a[0] is c[0]為 False
a = [[-1, 2, 3], [4, 5, 6]]
b = [[-1, 2, 3], [7, 8, 9]]
c = [[1, 2, 3], [4, 5, 6]]
a[1] is b[1]為False
從上面的代碼我們可以看到,copy函數(shù)為淺拷貝,只拷貝了對(duì)象的外層,而對(duì)象內(nèi)部所包含的對(duì)象仍然指向原有的對(duì)象。而deepcopy則為深拷貝,對(duì)象內(nèi)部的對(duì)象也進(jìn)行了復(fù)制。
以上我們對(duì)變量的賦值和對(duì)象的復(fù)制做了更加深入的分析。在具體的使用中,我們需要根據(jù)具體來(lái)決定使用賦值、淺拷貝、深拷貝。
字典是一種通過(guò)名字或者關(guān)鍵字引用的得數(shù)據(jù)結(jié)構(gòu),其鍵可以是數(shù)字、字符串、元組,這種結(jié)構(gòu)類型也稱之為映射。字典類型是Python中唯一內(nèi)建的映射類型,基本的操作包括如下:
(1)len():返回字典中鍵—值對(duì)的數(shù)量;
(2)d[k]:返回關(guān)鍵字對(duì)于的值;
(3)d[k]=v:將值關(guān)聯(lián)到鍵值k上;
(4)del d[k]:刪除鍵值為k的項(xiàng);
(5)key in d:鍵值key是否在d中,是返回True,否則返回False。
(6)clear函數(shù):清除字典中的所有項(xiàng)
(7)copy函數(shù):返回一個(gè)具有相同鍵值的新字典;deepcopy()函數(shù)使用深復(fù)制,復(fù)制其包含所有的值,這個(gè)方法可以解決由于副本修改而使原始字典也變化的問(wèn)題
(8)fromkeys函數(shù):使用給定的鍵建立新的字典,鍵默認(rèn)對(duì)應(yīng)的值為None
(9)get函數(shù):訪問(wèn)字典成員
(10)has_key函數(shù):檢查字典中是否含有給出的鍵
(11)items和iteritems函數(shù):items將所有的字典項(xiàng)以列表方式返回,列表中項(xiàng)來(lái)自(鍵,值),iteritems與items作用相似,但是返回的是一個(gè)迭代器對(duì)象而不是列表
(12)keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器
(13)pop函數(shù):刪除字典中對(duì)應(yīng)的鍵
(14)popitem函數(shù):移出字典中的項(xiàng)
(15)setdefault函數(shù):類似于get方法,獲取與給定鍵相關(guān)聯(lián)的值,也可以在字典中不包含給定鍵的情況下設(shè)定相應(yīng)的鍵值
(16)update函數(shù):用一個(gè)字典更新另外一個(gè)字典
(17)?values和itervalues函數(shù):values以列表的形式返回字典中的值,itervalues返回值得迭代器,由于在字典中值不是唯一的,所以列表中可以包含重復(fù)的元素
一、字典的創(chuàng)建
1.1 直接創(chuàng)建字典
d={'one':1,'two':2,'three':3}
printd
printd['two']
printd['three']
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
1.2 通過(guò)dict創(chuàng)建字典
# _*_ coding:utf-8 _*_
items=[('one',1),('two',2),('three',3),('four',4)]
printu'items中的內(nèi)容:'
printitems
printu'利用dict創(chuàng)建字典,輸出字典內(nèi)容:'
d=dict(items)
printd
printu'查詢字典中的內(nèi)容:'
printd['one']
printd['three']
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
items中的內(nèi)容:
[('one',1), ('two',2), ('three',3), ('four',4)]
利用dict創(chuàng)建字典,輸出字典內(nèi)容:
{'four':4,'three':3,'two':2,'one':1}
查詢字典中的內(nèi)容:
或者通過(guò)關(guān)鍵字創(chuàng)建字典
# _*_ coding:utf-8 _*_
d=dict(one=1,two=2,three=3)
printu'輸出字典內(nèi)容:'
printd
printu'查詢字典中的內(nèi)容:'
printd['one']
printd['three']
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
輸出字典內(nèi)容:
{'three':3,'two':2,'one':1}
查詢字典中的內(nèi)容:
二、字典的格式化字符串
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3,'four':4}
printd
print"three is %(three)s."%d
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'four':4,'three':3,'two':2,'one':1}
threeis3.
三、字典方法
3.1?clear函數(shù):清除字典中的所有項(xiàng)
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3,'four':4}
printd
d.clear()
printd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'four':4,'three':3,'two':2,'one':1}
{}
請(qǐng)看下面兩個(gè)例子
3.1.1
# _*_ coding:utf-8 _*_
d={}
dd=d
d['one']=1
d['two']=2
printdd
d={}
printd
printdd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'two':2,'one':1}
{}
{'two':2,'one':1}
3.1.2
# _*_ coding:utf-8 _*_
d={}
dd=d
d['one']=1
d['two']=2
printdd
d.clear()
printd
printdd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'two':2,'one':1}
{}
{}
3.1.2與3.1.1唯一不同的是在對(duì)字典d的清空處理上,3.1.1將d關(guān)聯(lián)到一個(gè)新的空字典上,這種方式對(duì)字典dd是沒(méi)有影響的,所以在字典d被置空后,字典dd里面的值仍舊沒(méi)有變化。但是在3.1.2中clear方法清空字典d中的內(nèi)容,clear是一個(gè)原地操作的方法,使得d中的內(nèi)容全部被置空,這樣dd所指向的空間也被置空。
3.2?copy函數(shù):返回一個(gè)具有相同鍵值的新字典
# _*_ coding:utf-8 _*_
x={'one':1,'two':2,'three':3,'test':['a','b','c']}
printu'初始X字典:'
printx
printu'X復(fù)制到Y(jié):'
y=x.copy()
printu'Y字典:'
printy
y['three']=33
printu'修改Y中的值,觀察輸出:'
printy
printx
printu'刪除Y中的值,觀察輸出'
y['test'].remove('c')
printy
printx
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
初始X字典:
{'test': ['a','b','c'],'three':3,'two':2,'one':1}
X復(fù)制到Y(jié):
Y字典:
{'test': ['a','b','c'],'one':1,'three':3,'two':2}
修改Y中的值,觀察輸出:
{'test': ['a','b','c'],'one':1,'three':33,'two':2}
{'test': ['a','b','c'],'three':3,'two':2,'one':1}
刪除Y中的值,觀察輸出
{'test': ['a','b'],'one':1,'three':33,'two':2}
{'test': ['a','b'],'three':3,'two':2,'one':1}
注:在復(fù)制的副本中對(duì)值進(jìn)行替換后,對(duì)原來(lái)的字典不產(chǎn)生影響,但是如果修改了副本,原始的字典也會(huì)被修改。deepcopy函數(shù)使用深復(fù)制,復(fù)制其包含所有的值,這個(gè)方法可以解決由于副本修改而使原始字典也變化的問(wèn)題。
# _*_ coding:utf-8 _*_
fromcopyimportdeepcopy
x={}
x['test']=['a','b','c','d']
y=x.copy()
z=deepcopy(x)
printu'輸出:'
printy
printz
printu'修改后輸出:'
x['test'].append('e')
printy
printz
運(yùn)算輸出:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
輸出:
{'test': ['a','b','c','d']}
{'test': ['a','b','c','d']}
修改后輸出:
{'test': ['a','b','c','d','e']}
{'test': ['a','b','c','d']}
3.3?fromkeys函數(shù):使用給定的鍵建立新的字典,鍵默認(rèn)對(duì)應(yīng)的值為None
# _*_ coding:utf-8 _*_
d=dict.fromkeys(['one','two','three'])
printd
運(yùn)算輸出:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':None,'two':None,'one':None}
或者指定默認(rèn)的對(duì)應(yīng)值
# _*_ coding:utf-8 _*_
d=dict.fromkeys(['one','two','three'],'unknow')
printd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':'unknow','two':'unknow','one':'unknow'}
3.4?get函數(shù):訪問(wèn)字典成員
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printd.get('one')
printd.get('four')
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
1
None
注:get函數(shù)可以訪問(wèn)字典中不存在的鍵,當(dāng)該鍵不存在是返回None
3.5?has_key函數(shù):檢查字典中是否含有給出的鍵
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printd.has_key('one')
printd.has_key('four')
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
True
False
3.6?items和iteritems函數(shù):items將所有的字典項(xiàng)以列表方式返回,列表中項(xiàng)來(lái)自(鍵,值),iteritems與items作用相似,但是返回的是一個(gè)迭代器對(duì)象而不是列表
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
list=d.items()
forkey,valueinlist:
printkey,':',value
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
three :3
two :2
one :1
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
it=d.iteritems()
fork,vinit:
print"d[%s]="%k,v
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
d[three]=3
d[two]=2
d[one]=1
3.7?keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printu'keys方法:'
list=d.keys()
printlist
printu'\niterkeys方法:'
it=d.iterkeys()
forxinit:
printx
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
keys方法:
['three','two','one']
iterkeys方法:
three
two
one
3.8?pop函數(shù):刪除字典中對(duì)應(yīng)的鍵
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
d.pop('one')
printd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
{'three':3,'two':2}
3.9?popitem函數(shù):移出字典中的項(xiàng)
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
d.popitem()
printd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':1}
{'two':2,'one':1}
3.10?setdefault函數(shù):類似于get方法,獲取與給定鍵相關(guān)聯(lián)的值,也可以在字典中不包含給定鍵的情況下設(shè)定相應(yīng)的鍵值
# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
printd
printd.setdefault('one',1)
printd.setdefault('four',4)
printd
運(yùn)算結(jié)果:
{'three':3,'two':2,'one':1}
{'four':4,'three':3,'two':2,'one':1}
3.11?update函數(shù):用一個(gè)字典更新另外一個(gè)字典
# _*_ coding:utf-8 _*_
d={
'one':123,
'two':2,
'three':3
}
printd
x={'one':1}
d.update(x)
printd
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three':3,'two':2,'one':123}
{'three':3,'two':2,'one':1}
3.12?values和itervalues函數(shù):values以列表的形式返回字典中的值,itervalues返回值得迭代器,由于在字典中值不是唯一的,所以列表中可以包含重復(fù)的元素
# _*_ coding:utf-8 _*_
d={
'one':123,
'two':2,
'three':3,
'test':2
}
printd.values()
運(yùn)算結(jié)果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
[2,3,2,123]
網(wǎng)站名稱:python函數(shù)copy python函數(shù)cos
本文鏈接:http://chinadenli.net/article8/dodegip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、服務(wù)器托管、全網(wǎng)營(yíng)銷推廣、網(wǎng)站導(dǎo)航、定制網(wǎng)站、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)