真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python中參數(shù)傳遞機(jī)制的方法有哪些

這篇文章主要介紹python中參數(shù)傳遞機(jī)制的方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

為淮陰等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及淮陰網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、淮陰網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

函數(shù)參數(shù)傳遞機(jī)制問(wèn)題在本質(zhì)上是調(diào)用函數(shù)(過(guò)程)和被調(diào)用函數(shù)(過(guò)程)在調(diào)用發(fā)生時(shí)進(jìn)行通信的方法問(wèn)題?;镜膮?shù)傳遞機(jī)制有兩種:值傳遞和引用傳遞。

值傳遞(passl-by-value)過(guò)程中,被調(diào)函數(shù)的形式參數(shù)作為被調(diào)函數(shù)的局部變量處理,即在堆棧中開(kāi)辟了內(nèi)存空間以存放由主調(diào)函數(shù)放進(jìn)來(lái)的實(shí)參的值,從而成為了實(shí)參的一個(gè)副本。值傳遞的特點(diǎn)是被調(diào)函數(shù)對(duì)形式參數(shù)的任何操作都是作為局部變量進(jìn)行,不會(huì)影響主調(diào)函數(shù)的實(shí)參變量的值。

引用傳遞(pass-by-reference)過(guò)程中,被調(diào)函數(shù)的形式參數(shù)雖然也作為局部變量在堆棧中開(kāi)辟了內(nèi)存空間,但是這時(shí)存放的是由主調(diào)函數(shù)放進(jìn)來(lái)的實(shí)參變量的地址。被調(diào)函數(shù)對(duì)形參的任何操作都被處理成間接尋址,即通過(guò)堆棧中存放的地址訪問(wèn)主調(diào)函數(shù)中的實(shí)參變量。正因?yàn)槿绱?,被調(diào)函數(shù)對(duì)形參做的任何操作都影響了主調(diào)函數(shù)中的實(shí)參變量。

在python中實(shí)際又是怎么樣的呢?

先看一個(gè)簡(jiǎn)單的例子:

from ctypes import *
import os.path  
import sys

def test(c):
    print "test before "
    print id(c)
    c+=2
    print "test after +"
    print id(c)
    return c

def printIt(t):
    for i in range(len(t)):
        print t[i]

if __name__=="__main__":
    a=2
    print "main before invoke test"
    print id(a)
    n=test(a)
    print "main afterf invoke test"
    print a
    print id(a)

運(yùn)行后結(jié)果如下:

>>> 
main before invoke test
39601564
test before 
39601564
test after +
39601540
main afterf invoke test
2
39601564

以上是python中參數(shù)傳遞機(jī)制的方法有哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享題目:python中參數(shù)傳遞機(jī)制的方法有哪些
當(dāng)前URL:http://weahome.cn/article/ijpjdp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部