青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

GLORY | 學習·記錄

coding for life

轉: Python的函數參數傳遞:傳值?引用?

http://blog.csdn.net/winterttr/article/details/2590741
作者:winterTTr


我想,這個標題或許是很多初學者的問題。尤其是像我這樣的對C/C++比較熟悉,剛剛進入python殿堂的朋友們

。C/C++的函數參數的傳遞方式根深蒂固的影響這我們的思維--引用?傳值?究竟是那種呢。

呵呵,語言的特性決定了是使用的方法,那么,現在我們來探究一下python的函數參數傳遞方式。

在開始之前,我們有必要分清一下python的一些基礎概念。

首先要說的是:變量 與 對象

在python中,類型屬于對象,變量是沒有類型的,這正是python的語言特性,也是吸引著很多pythoner的一點。所有的變量都可以理解 是內存中一個對象的“引用”,或者,也可以看似c中void*的感覺。所以,希望大家在看到一個python變量的時候,把變量和真正的內存對象分開。

類型是屬于對象的,而不是變量。這樣,很多問題就容易思考了。

例如: 

nfoo = 1   #一個指向int數據類型的nfoo(再次提醒,nfoo沒有類型)

lstFoo = [1]   #一個指向list類型的lstFoo,這個list中包含一個整數1。

對應于上一個概念,就必須引出另了另一概念,這就是“可更改”(mutable)與“不可更改”(immutable)對象。

對于python比較熟悉的人們都應該了解這個事實,在python中,strings, tuples, 和numbers是不可更改的對象,而list,dict等則是可以修改的對象。那么,這些所謂的可改變和不可改變影響著什么呢?

還是上面的例子:

nfoo = 2        

這時,內存中原始的1對象因為不能改變,于是被“拋棄”,另nfoo指向一個新的int對象,其值為2

lstFoo[0] = 2  

更改list中第一個元素的值,因為list是可改變的,所以,第一個元素變更為2,其實應該說有一個新int對象被指定給lstFoo 所指向的對象的第一個值,但是對于lstFoo 來說,所指向的對象,并沒有變化,就是這個看似void*的變量所指向的對象仍舊是剛剛的那個有一個int對象的list。(聽著有點暈吧,仔細琢磨一下 就明白了,嘿)

好了,被我這么填鴨似的復習了一下python的基礎知識,改轉回題目的問題了,Python的函數參數傳遞:傳值?引用?

對于變量(與對象相對的概念),其實,python函數參數傳遞可以理解為就是變量傳值操作(注意哦,我說的是變量,不是對象  =_= )

接著說例子好了:

def ChangeInt( a ):

      a = 10  # change the number

nfoo = 2 

ChangeInt(nfoo)

print nfoo #結果是2

這時發生了什么,有一個int對象2,和指向它的變量nfoo,當傳遞給ChangeInt的時候,按照傳值的方式,復制了變量nfoo的值,這樣,a就是nfoo指向同一個Int對象了,函數中a=10的時候,發生什么?

(還記得我上面講到的那些概念么),int是不能更改的對象,于是,做了一個新的int對象,另a指向它(但是此時,被變量nfoo指向的對象,沒有發生變化),于是在外面的感覺就是函數沒有改變nfoo的值,看起來像C++中的傳值方式。

def ChangeList( a ):

      a[0] = 10  # change the number

lstFoo = [2]

ChangeList(lstFoo )

print nfoo #結果是[10]

當傳遞給ChangeList的時候,變量仍舊按照“傳值”的方式,復制了變量lstFoo 的值,于是a和lstFoo 指向同一個對象,但是,list是可以改變的對象,對a[0]的操作,就是對lstFoo指向的對象的內容的操作,于是,這時的a[0] = 10,就是更改了lstFoo 指向的對象的第一個元素,所以,再次輸出lstFoo 時,顯示[10],內容被改變了,看起來,像C++中的按引用傳遞。

恩,現在是不是對python中的變量和對象的概念有了更深入的理解了呢?

通過我上面的解釋,我想大家也可以自己搞定其他類型對象的傳遞問題了吧。

posted on 2011-08-15 09:10 meglory 閱讀(573) 評論(0)  編輯 收藏 引用 所屬分類: No Category

導航

隨筆分類

隨筆檔案

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲毛片一区二区| 亚洲中字黄色| 国产精品国产福利国产秒拍| 美腿丝袜亚洲色图| 欧美成人tv| 欧美日韩一区在线| 国产欧美午夜| 在线播放日韩| 免费在线欧美视频| 亚洲欧美日韩国产一区二区三区| 亚洲图片欧洲图片av| 亚洲免费影视第一页| 欧美一级播放| 久久在线免费观看| 亚洲精品四区| 欧美一区二区三区另类 | 一区二区三区国产盗摄| 亚洲中字黄色| 美女免费视频一区| 一区二区三区产品免费精品久久75| 午夜精品福利一区二区蜜股av| 久久久久久69| 欧美午夜美女看片| 激情六月婷婷久久| 亚洲视频免费在线| 美女被久久久| 亚洲欧美国产毛片在线| 欧美va天堂在线| 国产精品福利在线观看| 一区二区亚洲精品| 欧美一区二区三区四区高清| 欧美成人影音| 欧美亚洲在线视频| 欧美日韩国产麻豆| 伊人激情综合| 欧美在线观看视频一区二区三区| 亚洲高清电影| 亚洲影音先锋| 欧美极品欧美精品欧美视频| 国产一区二区0| 亚洲综合首页| 亚洲久久成人| 美女露胸一区二区三区| 国产一区二三区| 午夜精品久久久久影视| 亚洲精品偷拍| 欧美国内亚洲| 亚洲国产欧美一区二区三区丁香婷| 欧美亚洲日本国产| 一区二区三区日韩欧美精品| 欧美精品在线观看91| 亚洲激情电影中文字幕| 免费成人小视频| 久久久www成人免费毛片麻豆| 国产精品视频| 午夜精品区一区二区三| 亚洲一区中文| 国产精品私房写真福利视频| 亚洲免费视频在线观看| 亚洲一区二区成人| 国产精品自拍三区| 久久电影一区| 欧美在线免费观看| 亚洲第一综合天堂另类专| 麻豆国产精品777777在线 | 欧美在线一级视频| 国产精品尤物福利片在线观看| 亚洲小说区图片区| 这里只有精品视频| 国产麻豆日韩| 美国十次了思思久久精品导航| 久久久国产精品一区| 亚洲高清视频一区二区| 亚洲国产成人tv| 欧美精品三级日韩久久| 中文一区二区| 亚洲欧美中日韩| 在线国产精品一区| 亚洲电影欧美电影有声小说| 欧美激情久久久久| 亚洲欧美日韩综合aⅴ视频| 亚洲欧美美女| 黄色成人免费网站| 亚洲国产精品女人久久久| 欧美日韩一级片在线观看| 性亚洲最疯狂xxxx高清| 久久成人精品电影| 99精品久久久| 午夜在线成人av| 91久久精品日日躁夜夜躁国产| 亚洲青涩在线| 国产欧美激情| 亚洲国产成人在线播放| 欧美日韩精品一区二区三区四区| 性欧美精品高清| 久久综合激情| 午夜精品久久久99热福利| 久久久久网址| 亚洲欧美日本国产专区一区| 久久久免费精品| 亚洲欧美日韩精品综合在线观看 | 亚洲大胆人体在线| 国产精品久久久久三级| 老司机免费视频久久| 久久综合五月| 久久另类ts人妖一区二区| 在线观看日韩国产| 一本久道综合久久精品| 在线免费日韩片| 欧美一区2区视频在线观看| 亚洲风情在线资源站| 国产精品一区二区女厕厕| 亚洲国产精品精华液2区45| 国产亚洲aⅴaaaaaa毛片| 亚洲免费观看高清完整版在线观看熊 | 一区二区欧美日韩视频| 亚洲国产高清一区二区三区| 老司机免费视频一区二区| 香蕉久久久久久久av网站| 欧美激情精品久久久久久免费印度 | 欧美午夜精品理论片a级大开眼界| 麻豆精品在线播放| 国产人成精品一区二区三| 亚洲毛片一区| 99视频一区二区| 欧美经典一区二区| 欧美韩日一区二区| 久久青草久久| 性欧美在线看片a免费观看| 亚洲欧美久久久久一区二区三区| 亚洲激情第一区| 亚洲精品无人区| 亚洲另类在线一区| 亚洲神马久久| 亚洲视屏一区| 欧美亚洲三级| ●精品国产综合乱码久久久久| 亚洲午夜视频在线观看| 国产一区二区三区四区三区四| 欧美在线高清| 国产欧美精品一区| 欧美一区二区视频免费观看| 亚洲国产欧美日韩另类综合| 久久噜噜亚洲综合| 欧美激情视频在线播放 | 性欧美xxxx视频在线观看| 国产美女精品视频| 美女久久网站| 欧美黄色网络| 亚洲精品少妇| 国产主播一区二区三区| 亚洲欧美福利一区二区| 亚洲国产二区| 欧美精品一区二区三区蜜桃| 久久九九全国免费精品观看| 国产区精品在线观看| 亚洲人成精品久久久久| 夜夜嗨av一区二区三区网站四季av| 一个色综合av| 性欧美1819性猛交| 在线精品在线| 欧美日韩美女在线| 亚洲欧美成人在线| 欧美福利电影网| 亚洲午夜高清视频| 久久久五月天| 亚洲卡通欧美制服中文| 亚洲福利专区| 欧美日韩一区二区三区在线| 午夜在线一区二区| 亚洲国产精品第一区二区| 亚洲色图在线视频| 一区二区三区在线看| 欧美午夜三级| 久久午夜国产精品| 久久精品欧美| 欧美午夜在线观看| 久久久国产精品亚洲一区| 一区二区高清视频在线观看| 久久激情久久| av成人福利| 91久久久久久久久久久久久| 欧美精品aa| 亚洲激情视频| 久久精品国产亚洲精品| 一区二区三区精密机械公司| 伊人伊人伊人久久| 久久久久国产精品一区| 亚洲三级性片| 免费久久精品视频| 伊人久久大香线| 久久精品国产综合精品| 亚洲精品乱码久久久久久黑人| 久久精品首页| 国产亚洲精品自拍| 午夜视黄欧洲亚洲| 亚洲欧洲三级电影| 欧美激情按摩在线| 日韩亚洲视频| 欧美激情一区二区三区在线视频观看|