导语:
本文主要介绍了关于python怎么传参数的相关知识,包括Python打印1到100累加,以及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/05
- ♥ python线程阻塞解决方案10/17
- ♥ Python示例:用代码画一个五角星09/28
- ♥ python如何封装pyqt5类10/22
- ♥ 如何用python猜数字10/04
- ♥ 如何使数组中的元素在python中不重复11/04
内容反馈