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

溫馨提示×

溫馨提示×

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

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

python傳參數的方法

發布時間:2020-09-02 11:46:20 來源:億速云 閱讀:149 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關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

永州市| 霞浦县| 宝清县| 甘泉县| 彰化县| 会昌县| 南和县| 九寨沟县| 大冶市| 图片| 林口县| 长顺县| 镶黄旗| 信丰县| 菏泽市| 沅陵县| 中江县| 资源县| 马公市| 房山区| 扎兰屯市| 商都县| 准格尔旗| 大悟县| 浮梁县| 翼城县| 响水县| 平乡县| 嵩明县| 新宁县| 罗山县| 海宁市| 从江县| 石狮市| 河北区| 黎平县| 石林| 张家川| 江达县| 香格里拉县| 新化县|