Kevin12151011的个人博客分享 http://blog.sciencenet.cn/u/Kevin12151011

博文

python中函数的参数传递

已有 1830 次阅读 2017-2-28 16:32 |个人分类:Python编程|系统分类:科研笔记

编程中对于函数, 都有实参和形参的概念, 在Python里面则比较独特, 记三例如下:

一.

a = 1

def f(a):

   a*=2

   return a

f(a)

print(a)

显然不改变a值,还是1


二.

a = np.array([1,2,3])

def f(a):

   a*=2

   return a

f(a)

print(a)

这时返回[2,4,6], 在Python中变量名相当于标签, 或者指针, 所以会变.


三.

a = np.array([1,2,3])

def f(a):

   b = a[2]

   b*=2

   return a

f(a)

print(a)

结果是[1,2,3], 单个元素赋值不会影响a


四.

a = np.array([[1,2,3],[1,2,3]])
def f(a):
   b = a[1]
   b *= 2
   return a
f(a)
print(a)

结果是[[1,2,3],[2,4,6]], 子数组赋值会影响a, 还是标签(指针)









https://blog.sciencenet.cn/blog-3296568-1036657.html

上一篇:数据拟合中的归一化
下一篇:Python array冒号的滥用
收藏 IP: 107.178.195.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-4 00:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部