知行编程网知行编程网  2022-12-02 21:30 知行编程网 隐藏边栏  18 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何接受参数的相关知识,包括python 命令行,以及python编程这些编程知识,希望对大家有参考作用。

python如何接受参数

函数参数传递机制的问题本质上是调用函数(过程)与被调用函数(过程)在调用发生时的通信方式问题。有两种基本的参数传递机制:值传递和引用传递。

在传值过程中,将被调用函数的形参作为被调用函数的局部变量,即在栈中开辟一块内存空间,用于存放被调用函数传入的实参的值。调用函数,使之成为实际参数的副本。值传递的特点是被调用函数对形参的任何操作都作为局部变量进行,不会影响调用函数实参变量的值。

在传引用过程中,虽然被调用函数的形参也作为局部变量在栈中开辟内存空间,但是此时调用函数放入的实参变量地址为存储。被调用函数对形参的任何操作都按间接寻址处理,即通过栈中存储的地址访问调用函数中的实参变量。因此,被调用函数对形参所做的任何操作都会影响调用函数中的实参变量。

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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享