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

GLORY | 學(xué)習(xí)·記錄

coding for life

轉(zhuǎn): Python的函數(shù)參數(shù)傳遞:傳值?引用?

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


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

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

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

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

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

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

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

例如: 

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

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

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

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

還是上面的例子:

nfoo = 2        

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

lstFoo[0] = 2  

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

好了,被我這么填鴨似的復(fù)習(xí)了一下python的基礎(chǔ)知識,改轉(zhuǎn)回題目的問題了,Python的函數(shù)參數(shù)傳遞:傳值?引用?

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

接著說例子好了:

def ChangeInt( a ):

      a = 10  # change the number

nfoo = 2 

ChangeInt(nfoo)

print nfoo #結(jié)果是2

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

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

def ChangeList( a ):

      a[0] = 10  # change the number

lstFoo = [2]

ChangeList(lstFoo )

print nfoo #結(jié)果是[10]

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

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

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

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

導(dǎo)航

隨筆分類

隨筆檔案

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲黄页视频免费观看| 亚洲欧洲日韩女同| 欧美一区二区免费视频| 亚洲综合视频在线| 99re6这里只有精品视频在线观看| 久久只精品国产| 亚洲精品久久久一区二区三区| 亚洲高清一区二| 欧美—级在线免费片| 亚洲特级毛片| 亚洲免费小视频| 影音先锋另类| 亚洲精品综合精品自拍| 国产精品jizz在线观看美国 | 美女久久一区| 日韩一级二级三级| 亚洲男人av电影| 伊人久久大香线蕉av超碰演员| 欧美激情视频一区二区三区不卡| 欧美精品九九| 欧美在线国产| 蜜桃av一区二区| 亚洲欧美日韩视频一区| 久久aⅴ国产紧身牛仔裤| 亚洲精品日韩一| 亚洲欧美日韩高清| 最近中文字幕日韩精品| 亚洲一区二区三区乱码aⅴ| 激情欧美一区二区三区在线观看| 最新国产乱人伦偷精品免费网站| 国产精品豆花视频| 欧美激情精品久久久六区热门 | 欧美日韩国产精品一卡| 欧美一区二区三区视频在线 | 欧美一区二区精品在线| 国产精品亚洲网站| 欧美国产91| 快射av在线播放一区| 亚洲一区二区三区在线播放| 欧美中文字幕久久| 亚洲一区免费| 欧美第一黄色网| 久久精品国产第一区二区三区| 欧美高清在线观看| 久久亚洲一区二区三区四区| 欧美日韩一区三区| 欧美大胆人体视频| 国产一区二区三区免费不卡| 夜色激情一区二区| 亚洲欧洲一区二区在线观看| 久久精品视频在线看| 亚洲欧美日本视频在线观看| 欧美激情91| 欧美激情精品久久久久久大尺度| 国产一区二区三区免费观看 | 久久久www成人免费无遮挡大片| 欧美日本亚洲韩国国产| 欧美成人在线影院| 精品999日本| 欧美伊人久久久久久久久影院| 亚洲专区一区| 欧美日韩中文字幕在线| 亚洲国产一区二区a毛片| 在线不卡免费欧美| 久久久久久亚洲综合影院红桃 | 在线欧美日韩国产| 久久精品女人| 久久综合色一综合色88| 一区二区亚洲| 久久久一本精品99久久精品66| 久久久国产精品一区| 国产主播一区二区三区四区| 午夜精品一区二区三区电影天堂 | 亚洲高清影视| 玖玖玖免费嫩草在线影院一区| 久久综合中文色婷婷| 亚洲电影在线免费观看| 免费成人毛片| 亚洲伦理自拍| 亚洲欧美精品一区| 国产日韩成人精品| 亚洲国产欧美另类丝袜| 亚洲伦理在线免费看| 欧美体内she精视频在线观看| 在线视频精品| 久久国产精彩视频| 亚洲国产精品久久久久秋霞蜜臀| 你懂的国产精品| 99精品免费网| 久久国产精品亚洲77777| 极品少妇一区二区三区精品视频| 久久综合伊人77777麻豆| 91久久精品美女| 香蕉久久夜色精品国产使用方法| 国外成人免费视频| 欧美国产综合视频| 亚洲欧美成人一区二区在线电影| 麻豆国产精品777777在线| 日韩小视频在线观看| 国产精品羞羞答答xxdd| 久久在线播放| 亚洲视频第一页| 欧美 日韩 国产 一区| 亚洲丝袜av一区| 国产在线不卡视频| 欧美色大人视频| 久久精品亚洲一区| 妖精成人www高清在线观看| 久久视频在线视频| 中国女人久久久| 在线日韩成人| 国产精品毛片高清在线完整版| 久久久免费精品视频| 亚洲视频高清| 亚洲国产91精品在线观看| 欧美制服丝袜| 一本一道久久综合狠狠老精东影业 | 欧美在线网站| 99国产一区| 欧美国产激情| 久久久免费观看视频| 亚洲综合欧美| 99国内精品久久| 亚洲国产一区视频| 国产伦精品一区二区三区免费 | 欧美成人一区二区三区在线观看| 亚洲在线1234| 99热这里只有精品8| 亚洲国产成人精品久久| 美女免费视频一区| 久久精品国产综合| 欧美一区二区三区四区在线| 亚洲婷婷综合久久一本伊一区| 亚洲国产高清高潮精品美女| 国模私拍视频一区| 国产亚洲欧美激情| 国产欧美精品一区二区色综合| 欧美日韩午夜| 欧美丝袜一区二区三区| 欧美激情亚洲激情| 欧美—级在线免费片| 蜜桃av久久久亚洲精品| 另类亚洲自拍| 欧美成人午夜剧场免费观看| 美女网站久久| 欧美成人精品在线观看| 欧美韩国日本综合| 欧美剧在线免费观看网站| 欧美激情欧美狂野欧美精品| 欧美二区在线| 欧美日韩国产精品成人| 欧美日韩亚洲高清| 国产精品白丝av嫩草影院| 国产精品成人一区二区艾草| 欧美日韩一区二区三区| 国产精品久久久久久户外露出 | 玖玖玖免费嫩草在线影院一区| 久久久青草婷婷精品综合日韩| 久久久久久久久久久一区| 久久久精品日韩欧美| 麻豆精品一区二区综合av| 欧美黑人国产人伦爽爽爽| 欧美日韩亚洲国产一区| 国产精品久久福利| 国产真实精品久久二三区| 在线观看欧美成人| 99视频精品全国免费| 亚洲影视在线| 久久亚洲欧美| 亚洲经典自拍| 亚洲一级电影| 久久久亚洲精品一区二区三区| 欧美大片免费| 国产精品美女诱惑| 亚洲成人自拍视频| 亚洲视频中文字幕| 久久久综合网| 亚洲毛片视频| 欧美在线观看www| 欧美激情在线播放| 国产一区二区三区四区三区四| 最新国产成人av网站网址麻豆| 亚洲欧美日韩国产精品| 毛片av中文字幕一区二区| 亚洲日本理论电影| 欧美在线观看你懂的| 欧美理论片在线观看| 国产亚洲欧美另类一区二区三区| 亚洲美女精品成人在线视频| 欧美中文在线观看国产| 亚洲精品国产精品国自产在线 | 日韩一级黄色大片| 久久九九99视频| 国产精品v日韩精品| 在线日韩精品视频| 羞羞漫画18久久大片| 亚洲精品网站在线播放gif| 久久久久久夜精品精品免费| 国产精品久久久久久久久久ktv | 91久久久一线二线三线品牌|