python的函數(shù)傳遞 python函數(shù)值傳遞和引用傳遞

Python 的函數(shù)是怎么傳遞參數(shù)的?

首先你要明白,Python的函數(shù)傳遞方式是賦值,而賦值是通過建立變量與對象的關(guān)聯(lián)實(shí)現(xiàn)的。

創(chuàng)新互聯(lián)建站是專業(yè)的瓊山網(wǎng)站建設(shè)公司,瓊山接單;提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行瓊山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

對于你的代碼:

執(zhí)行 d = 2時(shí),你在__main__里創(chuàng)建了d,并讓它指向2這個(gè)整型對象。

執(zhí)行函數(shù)add(d)過程中:

d被傳遞給add()函數(shù)后,在函數(shù)內(nèi)部,num也指向了__main__中的2

但執(zhí)行num = num + 10之后,新建了對象12,并讓num指向了這個(gè)新對象——12。

如果你明白函數(shù)中的局部變量與__main__中變量的區(qū)別,那么很顯然,在__main__中,d仍在指著2這個(gè)對象,它沒有改變。因此,你打印d時(shí)得到了2。

如果你想讓輸出為12,最簡潔的辦法是:

在函數(shù)add()里增加return num

調(diào)用函數(shù)時(shí)使用d = add(d)

代碼如下:

def add(num):

num += 10

return num

d = 2

d = add(d)

print d

python函數(shù)傳對象對性能的影響

python函數(shù)傳對象對性能有影響。在Python中,一切皆對象,Python參數(shù)傳遞采用的都是“傳對象引用”的方式。實(shí)際上,這種方式相當(dāng)于傳值和傳引用的一種綜合。如果函數(shù)收到的是一個(gè)可變對象(比如字典或者列表)的引用,就能修改對象的原始值,相當(dāng)于通過“傳引用”來傳遞對象。如果函數(shù)收到的是一個(gè)不可變對象(比如數(shù)字、字符或者元組)的引用,就不能直接修改原始對象,相當(dāng)于通過“傳值’來傳遞對象,此時(shí)如果想改變這些變量的值,可以將這些變量申明為全局變量。

Python 的函數(shù)是怎么傳遞參數(shù)的

Python 的函數(shù)傳遞參數(shù):

Python 傳參數(shù)可以理解為 C 的 const 指針(your_type* const your_variable),它所指向的對象可以被修改產(chǎn)生副作用,但變量本身不能修改指向其他對象。這個(gè)和 C++ 的 reference 差不多。

所以如果一定要產(chǎn)生 C 的修改指針指向其他對象的效果,用 list、dict 或其他自定義的 mutable 對象包裝是一個(gè)辦法,但我認(rèn)為這樣是一種不良實(shí)踐。在 C 語言中用參數(shù)輸出結(jié)果有非常多的理由:

C 語言沒有 tuple,不能返回多值,除非聲明一個(gè) struct 類型。這種情況下劃分 in 參數(shù)和 out 參數(shù)成為一種慣例

C 語言沒有異常機(jī)制,返回值一般要保留給 errno

但這些情況在 Python 中都是不存在的

標(biāo)題名稱:python的函數(shù)傳遞 python函數(shù)值傳遞和引用傳遞
瀏覽路徑:http://m.kartarina.com/article48/hgjsep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站導(dǎo)航商城網(wǎng)站品牌網(wǎng)站制作外貿(mào)建站網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
主站蜘蛛池模板: 四虎影视无码永久免费| 亚洲成av人片天堂网无码】| 无码国产69精品久久久久孕妇| 精品久久久无码中文字幕边打电话| 成人无码Av片在线观看| 国产精品三级在线观看无码| 亚洲一区二区三区无码国产| 国产AV无码专区亚洲AV麻豆丫 | 69天堂人成无码麻豆免费视频| 四虎国产精品永久在线无码| 亚洲一区二区三区AV无码| av无码久久久久不卡免费网站 | 久久久久久久久免费看无码| 亚洲精品无码永久在线观看你懂的 | 亚洲av无码专区在线播放| 无码视频免费一区二三区| 日韩免费无码一区二区三区| 国产精品无码久久久久| 亚洲无码一区二区三区| 亚洲AV无码一区二区乱子伦| 精品一区二区无码AV| 精品国产AV无码一区二区三区| 影音先锋中文无码一区 | 无码av中文一区二区三区桃花岛| 国产成人无码一区二区在线播放| 国产成年无码v片在线| 亚洲av无码一区二区三区人妖| 人妻少妇伦在线无码专区视频| 中文无码vs无码人妻 | 亚洲av无码成h人动漫无遮挡| 狠狠精品久久久无码中文字幕| 成人免费a级毛片无码网站入口| 亚洲精品久久无码| 亚洲乱人伦中文字幕无码| 久久久久无码精品国产不卡| 无码人妻丰满熟妇区五十路百度| 蜜色欲多人AV久久无码| 精品久久久无码人妻中文字幕豆芽 | 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | aⅴ一区二区三区无卡无码| 国产精品无码久久综合网|