欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中 傳遞值 和 傳遞引用 的區(qū)別解析

 更新時(shí)間:2018年02月22日 09:24:07   作者:木子昭  
這篇文章主要介紹了Python中 傳遞值 與 傳遞引用 的區(qū)別解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧

對(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ì)模式編程中的訪問者與觀察者模式

    這篇文章主要介紹了Python設(shè)計(jì)模式編程中的訪問者與觀察者模式,設(shè)計(jì)模式的制定有利于團(tuán)隊(duì)協(xié)作編程代碼的協(xié)調(diào),需要的朋友可以參考下
    2016-01-01
  • python?requests模塊封裝詳解

    python?requests模塊封裝詳解

    requests是一個(gè)常用的HTTP請(qǐng)求庫,可以方便地向網(wǎng)站發(fā)送HTTP請(qǐng)求,并獲取響應(yīng)結(jié)果,本文主要和大家介紹一下requests模塊的使用與封裝,需要的可以參考下
    2023-09-09
  • Python 下載Bing壁紙的示例

    Python 下載Bing壁紙的示例

    這篇文章主要介紹了Python 下載Bing壁紙的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python 遍歷字典的8種方法總結(jié)

    Python 遍歷字典的8種方法總結(jié)

    遍歷字典是Python中常見的操作,可以很方便的訪問字典中的鍵和值,以執(zhí)行各種任務(wù),本文將介紹Python中遍歷字典的8種方法,包括for循環(huán)、字典方法和推導(dǎo)式等,需要的朋友可以參考下
    2023-10-10
  • Python簡(jiǎn)單實(shí)現(xiàn)詞云圖代碼及步驟解析

    Python簡(jiǎn)單實(shí)現(xiàn)詞云圖代碼及步驟解析

    這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)詞云圖代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python面向?qū)ο蠓庋b操作案例詳解 II

    Python面向?qū)ο蠓庋b操作案例詳解 II

    這篇文章主要介紹了Python面向?qū)ο蠓庋b操作,結(jié)合案例形式詳細(xì)分析了Python面向?qū)ο笤谟螒蛑蟹庋b角色的屬性、動(dòng)作相關(guān)原理與使用技巧,需要的朋友可以參考下
    2020-01-01
  • python中unittest框架應(yīng)用詳解

    python中unittest框架應(yīng)用詳解

    這篇文章主要介紹了Python中Unittest框架的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • python圖形界面tkinter的使用技巧

    python圖形界面tkinter的使用技巧

    這篇文章主要介紹了python圖形界面tkinter的使用技巧,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Python分支結(jié)構(gòu)(switch)操作簡(jiǎn)介

    Python分支結(jié)構(gòu)(switch)操作簡(jiǎn)介

    這篇文章主要介紹了Python分支結(jié)構(gòu)(switch)操作簡(jiǎn)介,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • minpy使用GPU加速Numpy科學(xué)計(jì)算方式

    minpy使用GPU加速Numpy科學(xué)計(jì)算方式

    這篇文章主要介紹了minpy使用GPU加速Numpy科學(xué)計(jì)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論