91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中參數傳遞機制的方法有哪些

發布時間:2020-08-07 13:43:45 來源:億速云 閱讀:114 作者:小新 欄目:編程語言

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

函數參數傳遞機制問題在本質上是調用函數(過程)和被調用函數(過程)在調用發生時進行通信的方法問題。基本的參數傳遞機制有兩種:值傳遞和引用傳遞。

值傳遞(passl-by-value)過程中,被調函數的形式參數作為被調函數的局部變量處理,即在堆棧中開辟了內存空間以存放由主調函數放進來的實參的值,從而成為了實參的一個副本。值傳遞的特點是被調函數對形式參數的任何操作都是作為局部變量進行,不會影響主調函數的實參變量的值。

引用傳遞(pass-by-reference)過程中,被調函數的形式參數雖然也作為局部變量在堆棧中開辟了內存空間,但是這時存放的是由主調函數放進來的實參變量的地址。被調函數對形參的任何操作都被處理成間接尋址,即通過堆棧中存放的地址訪問主調函數中的實參變量。正因為如此,被調函數對形參做的任何操作都影響了主調函數中的實參變量。

在python中實際又是怎么樣的呢?

先看一個簡單的例子:

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)

運行后結果如下:

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

以上是python中參數傳遞機制的方法有哪些的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓝山县| 玛纳斯县| 股票| 莱州市| 宁安市| 布尔津县| 津市市| 行唐县| 改则县| 海盐县| 延长县| 清苑县| 高密市| 大庆市| 徐闻县| 吴堡县| 民丰县| 疏勒县| 马龙县| 玉门市| 特克斯县| 托里县| 高台县| 贡嘎县| 慈利县| 柘城县| 辽阳市| 朝阳区| 离岛区| 广昌县| 寿阳县| 澄迈县| 林西县| 巴塘县| 牙克石市| 莫力| 呼玛县| 开平市| 清镇市| 肃宁县| 体育|