亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python實現在函數中修改變量值的方法

系統 1681 0

和其他語言不一樣,傳遞參數的時候,python不允許程序員選擇采用傳值還是傳引用。Python參數傳遞采用的肯定是“傳對象引用”的方式。

實際上,這種方式相當于傳值和傳引用的一種綜合。如果函數收到的是一個可變對象(比如字典或者列表)的引用,

就能修改對象的原始值--相當于通過“傳引用”來傳遞對象。如果函數收到的是一個不可變對象(比如數字、字符或者元組)的引用,

就不能直接修改原始對象--相當于通過“傳值'來傳遞對象。

python一般內部賦值變量的話,都是傳個引用變量,和C語言的傳地址的概念差不多。可以用id()來查詢內存地址

下面的str_是可修改的對象,因此在add函數中可以修改:

            
#!/usr/bin/env python
#coding=utf-8
 
 
 
def add(s):
  s += 'b'
  print "In add function :", s
 
 
if __name__ == "__main__":
  str_ = list("aaa")
  add(str_)
  print "In main function:", str_

          

輸出為:

            
In add function : ['a', 'a', 'a', 'b']
In main function: ['a', 'a', 'a', 'b']
          

下面的str_是不可修改的對象,因此在add函數中不能修改:

            
#!/usr/bin/env python
#coding=utf-8
 
 
 
def add(s):
  s += 'b'
  print "In add function :", s
 
 
if __name__ == "__main__":
  str_ = "aaa"
  add(str_)
  print "In main function:", str_

          
            
In add function : aaab 

In main function: aaa

          

關于python的復制

如果a=b的話, a和b的地址是相同的;如果只是想拷貝,那么就得用 a=b[:]。

!!!注意這一點,這可是可以引起重大錯誤的。。。

以上這篇python實現在函數中修改變量值的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产亚洲精品美女久久久久 | 亚洲欧美日韩综合二区三区 | 伊人二区| 黄色一级片a | 欧美一级片免费 | 日本一级片免费观看 | 神马九九 | 国产福利一区二区在线观看 | 波多野结衣乳巨码无在线观看 | 欧美日韩国产成人综合在线影院 | www.久操| 久久久综合中文字幕久久 | 18在线观看| 九九re| 色94色欧美一区 | 四虎黄色影视库 | 狠狠色丁香婷婷久久综合不卡 | 国产精品免费播放 | 久久综合久久自在自线精品自 | 99久久国产综合精品女不卡 | 538在线视频二三区视视频 | 国内精品久久久久久西瓜色吧 | 最新狠狠色狠狠色综合 | 性生活视频网站 | 东京干手机福利视频 | 成人欧美一区二区三区黑人免费 | 亚洲 国产 日韩 欧美 | 日韩欧美中文在线 | 天天做天天爱天天影视综合 | 国产精品色片 | 在线观看年轻的母亲 | 欧美区一区二区三 | 久久免费精品 | 在线羞羞视频 | 你懂得国产 | 国产情侣普通话刺激对白 | 国产美女久久精品香蕉69 | 91私拍| 精品综合久久久久久98 | 精品久久久久久久九九九精品 | 天海翼一区二区在线观看 |