导语:
本文主要介绍了关于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
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何清除python中的变量09/12
- ♥ python中的temp是什么09/02
- ♥ Python 元类的使用12/26
- ♥ python垃圾回收的机制流程09/18
- ♥ 如何在python中传递参数12/12
- ♥ 49 个 Python 学习必备资源(附链接)09/09
内容反馈