更多課程 選擇中心

Python培訓
美國上市教育機構

400-111-8989

Python培訓

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

  • 發布:Python培訓
  • 來源:熱門文章
  • 時間:2020-03-25 16:49

和其他語言不一樣,傳遞參數的時候,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實現在函數中修改變量值的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多關注達內教育

免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯系刪除

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

上一篇:你會使用Python打印“菱形”星號嗎?
下一篇:關于Python中bool類型,你需要知道這些細節…

零基礎學習Python應該這樣學!

IT行業平均薪資突破14萬穩居第一,前景大好!

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

選擇城市和中心
黑龍江省

吉林省

河北省

湖南省

貴州省

云南省

廣西省

海南省

4438全国大成网人网站