Python中 傳遞值 和 傳遞引用 的區(qū)別解析
對(duì)于不可變類型傳遞值(不會(huì)影響原數(shù)據(jù))
不可變類型
對(duì)于可變類型傳遞引用(會(huì)影響原數(shù)據(jù))
不可變類型傳遞引用
python3不可變類型
- Number(數(shù)字)
- String(字符串)
- Tuple (元組)
python3可變類型
- List(列表)
- Dictionary (字典)
- Sets(集合)
參數(shù)傳遞的思考
- 我們聲明的變量名可以看做便簽
- 為變量名賦值的操作可以看做將標(biāo)簽貼到"值"的表面(值可以是可變類型,和不可變類型)
以鏈表中的節(jié)點(diǎn)對(duì)象為例(實(shí)例化的節(jié)點(diǎn)對(duì)象為不可變類型, 但對(duì)象中的屬性是可變的)
鏈表對(duì)象
class NodeList(object): def __init__(self, val): self.val = val self.next = None # 遍歷鏈表 def traverse_nodes(head): tmp = head while tmp: print("節(jié)點(diǎn)id為:", id(tmp), "節(jié)點(diǎn)的值為:", tmp.val, ) tmp = tmp.next # 創(chuàng)建鏈表 def create_node_list(): head = NodeList(0); left_p = head print("頭節(jié)點(diǎn)id:",id(head), "當(dāng)前節(jié)點(diǎn)id:",id(left_p), "當(dāng)前節(jié)點(diǎn)值:", left_p.val) left_p.next = NodeList(1); left_p = left_p.next print("頭節(jié)點(diǎn)id:",id(head), "當(dāng)前節(jié)點(diǎn)id:",id(left_p), "當(dāng)前節(jié)點(diǎn)值:", left_p.val) left_p.next = NodeList(2); left_p = left_p.next print("頭節(jié)點(diǎn)id:",id(head), "當(dāng)前節(jié)點(diǎn)id:",id(left_p), "當(dāng)前節(jié)點(diǎn)值:", left_p.val) left_p.next = NodeList(3); left_p = left_p.next print("頭節(jié)點(diǎn)id:",id(head), "當(dāng)前節(jié)點(diǎn)id:",id(left_p), "當(dāng)前節(jié)點(diǎn)值:", left_p.val) return head def main(): # 創(chuàng)建鏈表 print("==>創(chuàng)建鏈表函數(shù)中:") head = create_node_list() print("==>在遍歷函數(shù)中:") traverse_nodes(head) if __name__ == '__main__': main()
總結(jié)
以上所述是小編給大家介紹的Python中 傳遞值 與 傳遞引用 的區(qū)別解析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
舉例講解Python設(shè)計(jì)模式編程中的訪問者與觀察者模式
這篇文章主要介紹了Python設(shè)計(jì)模式編程中的訪問者與觀察者模式,設(shè)計(jì)模式的制定有利于團(tuán)隊(duì)協(xié)作編程代碼的協(xié)調(diào),需要的朋友可以參考下2016-01-01Python簡(jiǎn)單實(shí)現(xiàn)詞云圖代碼及步驟解析
這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)詞云圖代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python分支結(jié)構(gòu)(switch)操作簡(jiǎn)介
這篇文章主要介紹了Python分支結(jié)構(gòu)(switch)操作簡(jiǎn)介,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01minpy使用GPU加速Numpy科學(xué)計(jì)算方式
這篇文章主要介紹了minpy使用GPU加速Numpy科學(xué)計(jì)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01