<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      python 引用

      文檔

      python 引用

      python不允許程序員用傳值和傳引用,可以選用“傳對象引用”的方式,這種方式等同于將傳值和傳引用綜合起來,如果函數收到的是一個可變對象的引用,就能修改對象的原始值,相當于通過“傳引用”來傳遞對象,如果函數收到的是一個不可變對象的引用,就不能直接修改原始對象,相當于通過“傳值’來傳遞對象。
      推薦度:
      導讀python不允許程序員用傳值和傳引用,可以選用“傳對象引用”的方式,這種方式等同于將傳值和傳引用綜合起來,如果函數收到的是一個可變對象的引用,就能修改對象的原始值,相當于通過“傳引用”來傳遞對象,如果函數收到的是一個不可變對象的引用,就不能直接修改原始對象,相當于通過“傳值’來傳遞對象。

      python引用有哪些?來和小編一起解讀一下吧~

      python不允許程序員用傳值和傳引用,可以選擇選用“傳對象引用”的方式,這種方式等同于將傳值和傳引用綜合起來,如果函數收到的是一個可變對象的引用,就能修改對象的原始值,相當于通過“傳引用”來傳遞對象,如果函數收到的是一個不可變對象的引用,就不能直接修改原始對象,相當于通過“傳值’來傳遞對象。

      python引用主要有:不可變數據引用和可變數據引用,其中不可變數據引用包括:字符串String、浮點型Float、元祖Tuple。

      1、字符串String

      #1.字符串引用
      a='1234'
      b=a
      a='hello'
      print('a:',a)?#a:hello
      print('b:',b)??#b:1234
      #查看內存地址
      print('a的內存地址是:',id(a))
      print('a的內存地址是:',id(b))
      結果是:
      a:?hellob:?1234a的內存地址是:?1651738050720a的內存地址是:?1651737219456
      分析:b的值指向a的值。python開辟了新的內存空間給b,所以a和b的內存地址不一樣。

      2、浮點型Float

      #2.浮點型引用
      x=3.14
      y=x
      x=9.88
      print('x:',x)
      print('y:',y)
      print('x的內存地址是:',id(x))
      print('y的內存地址是:',id(y))
      結果是:
      x:?9.88y:?3.14x的內存地址是:?2578075558248y的內存地址是:?2578075558008

      3、元祖Tuple

      元祖雖然是序列,且包含多個元素,但是不支持原處修改,如tuple[1]=1是非法的。#3.元祖引用
      t1=(1,2,3,4,5)
      t2=t1
      t1=('tuple','hello')
      print('t1:',t1)
      print('t2:',t2)
      print('t1的內存地址是:',id(t1))
      print('t2的內存地址是:',id(t2))
      結果是:
      t修改后為:?(1,?2,?3,?['x',?'a',?'D',?'b'])
      可變數據引用包括:列表引用、字典引用、函數的傳遞引用

      1、列表引用

      #4?列表的可變引用
      list1=[1,2,3,4,5]
      list2=list1
      list1[3]='list'
      print('list1=====%s'%list1)
      print('list2=====%s'%list2)
      print('list1的內存地址是:',id(list1))
      print('list2的內存地址是:',id(list2))
      結果是:
      list1=====[1,?2,?3,?'list',?5]list2=====[1,?2,?3,?'list',?5]list1的內存地址是:?2769992249864list2的內存地址是:?2769992249864

      2、函數的傳遞引用

      def?eggs(someParameter):
      ????someParameter.append('hello?list')
      spam=[1,2,3,4]
      eggs(spam)
      print(spam)
      結果是:
      [1,?2,?3,?4,?'hello?list']

      3、字典引用

      #5?字典的引用
      a={'name':'Cathy','age':'27','job':'coder'}
      b=a
      a['age']='30'
      b['name']='Bob'
      print('a======%s'%a)
      print('b======%s'%b)
      print('a的內存地址是:',?id(a))
      print('b的內存地址是:',?id(b))
      結果是:
      a======{'name':?'Bob',?'age':?'30',?'job':?'coder'}
      b======{'name':?'Bob',?'age':?'30',?'job':?'coder'}
      a的內存地址是:?2510825602792
      b的內存地址是:?2510825602792

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      python 引用

      python不允許程序員用傳值和傳引用,可以選用“傳對象引用”的方式,這種方式等同于將傳值和傳引用綜合起來,如果函數收到的是一個可變對象的引用,就能修改對象的原始值,相當于通過“傳引用”來傳遞對象,如果函數收到的是一個不可變對象的引用,就不能直接修改原始對象,相當于通過“傳值’來傳遞對象。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      idea的maven配置 maven安裝配置 java filereader java stream java random java lambda java hashmap java foreach java final java json java 泛型 python range函數 linux ftp js 字符串轉數字 電腦忘記開機密碼怎么辦 兩個二維碼怎么拼一起 怎樣查看微信刪除的聊天記錄 微信掃碼不能掃了怎么辦 微信恢復刪除的聊天記錄 拼多多拒收在哪里操作 js數組遍歷方法 js json對象 js 遍歷json java concat python調用dll python strip函數 python configparser模塊 oracle coalesce rstudio使用教程 mysql去重復 保留一條 js set方法 python中get函數用法 java get和set方法 object轉bigdecimal object 轉list python 交集 js讀取文件 linux 格式化u盤 deque java java process
      Top 少妇高潮太爽了在线视频