python從入門到精通(DAY 2)
1、字典復(fù)制:
dict = {'name':'wang', 'sex':'m', 'age':34, 'job':'it'}
info = dict ##別名 (二個字典指向內(nèi)存的同一地址空間)
info1 = dict.copy() #shadow copy 淺復(fù)制(嵌套字典第一層獨(dú)立,第二層以下相關(guān)聯(lián))
import copy
copy.copy() #shadow copy 淺復(fù)制
copy.deepcopy() #deep copy 深復(fù)制(完全獨(dú)立)
注:淺復(fù)制下的關(guān)聯(lián)只是針對字典初始狀態(tài)包含的嵌套對象,后新加的不會
例:
>>> dict
{'info': ['a', 'b', 1, 2], 'job': 'it', 'sex': 'm', 'age': 40, 'name': 'wang'}
>>> dict_alias = dict
>>> dict_copy = copy.copy(dict)
>>> dict_deep = copy.deepcopy(dict)
#添加、改變、刪除第一層的對象鍵值,淺復(fù)制和深復(fù)制都不受影響
>>> dict['age'] = 32
>>> del dict['sex']
>>> dict
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_alias
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_copy
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
>>> dict_deep
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
#改變、刪除原有的第二層的對象鍵值,淺復(fù)制受影響,而深復(fù)制都不受影響
>>> dict['info'][2] = 100
>>> dict
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_alias
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 32, 'name': 'wang'}
>>> dict_copy
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
>>> dict_deep
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
#添加第二層的對象,淺復(fù)制和深復(fù)制都不受影響
>>> dict['new'] = {'a':1, 'b':2, 'c':5}
>>> dict
{'info': ['a', 'b', 100, 2], 'name': 'wang', 'age': 32, 'job': 'it', 'new': {'a': 1, 'c': 5, 'b': 2}}
>>> dict_alias
{'info': ['a', 'b', 100, 2], 'name': 'wang', 'age': 32, 'job': 'it', 'new': {'a': 1, 'c': 5, 'b': 2}}
>>> dict_copy
{'info': ['a', 'b', 100, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
>>> dict_deep
{'info': ['a', 'b', 1, 2], 'job': 'it', 'age': 40, 'name': 'wang', 'sex': 'm'}
2、內(nèi)置函數(shù)說明:
__name__:主文件時返回main,否則返回文件名,可用來判斷是否說主文件還是導(dǎo)入模塊;
__file__:文件的絕對路徑;
__doc__:文件開頭的注釋說明
例:
'''
created by 2015-12-18
@author: kevin
'''
if __name__ == '__main__':
print('this is main file')
print(__file__)
print(__doc__)
相關(guān)文章
教你如何使用Python快速爬取需要的數(shù)據(jù)
學(xué)點(diǎn)數(shù)據(jù)爬蟲基礎(chǔ)能讓繁瑣的數(shù)據(jù)CV工作(Ctrl+C,Ctrl+V)成為自動化就足夠了.作為一名數(shù)據(jù)分析師而并非開發(fā)工程師,需要掌握的爬蟲必備的知識內(nèi)容,能獲取需要的數(shù)據(jù)即可 ,需要的朋友可以參考下2021-06-06
python 如何將office文件轉(zhuǎn)換為PDF
這篇文章主要介紹了python 如何將office文件轉(zhuǎn)換為PDF,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09
python TK庫簡單應(yīng)用(實(shí)時顯示子進(jìn)程輸出)
這篇文章主要介紹了python TK庫簡單應(yīng)用(實(shí)時顯示子進(jìn)程輸出),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Keras中的兩種模型:Sequential和Model用法
這篇文章主要介紹了Keras中的兩種模型:Sequential和Model用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python使用函數(shù)輔助工具簡化開發(fā)提高效率
這篇文章主要為大家介紹了Python使用函數(shù)輔助工具簡化開發(fā)提高效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

