python函数参数为列表_基于python 将列表作为参数传入函数时的测试与理解

将一个列表传入函数后,会对这个列表本身产生什么改变?

这就是本文主要考察的内容。

list = [1,2,3,4,5,6,7]

word = list.pop(0)

print(word)

print(list)

# 输出结果理所当然地为:

# 1

# [2, 3, 4, 5, 6, 7]

#

def a(temp):

b = temp.pop(0)

print(b)

print(temp)

a(list)

# 输出结果为:

# 2

# [3, 4, 5, 6, 7]

# 此处,传给temp时,list是[2,3,...7],但pop后,原list

# 有什么变化呢?试试下面的代码

print(list)

# 输出结果为:

# [3, 4, 5, 6, 7]

# 可见,执行temp.pop函数后,list原本的值也受到了改变。

# 所以,一个数组(或者叫列表)传给temp时,传入的是指针

# 地址,而不是副本。下面的例子更加说明了这个问题

print(list[0])

def b(temp2):

temp2[0] = temp2[0] + 10

# 将temp2这个列表的第一个元素,作+10的运算

b(list)

print(list[0])

# 最终输出:

# 3

# 13

# list在b函数内的经过temp2运作后,改变的是list本身的值

# 所以,将某个列表(比如这里的list)作为参数传入某个函数

# 其传递的是list所在的真实地址。所有修改也是对list直接

# 的修改。

补充知识:python 字典怎样当作参数传入函数里,以及在函数里的一些遍历。变量的作用域。

字典当作参数以后的一些用法:

dic={'abc':123,'aaa':333,'wer':334}

def text_dic(**dd):

for a,b in dd.items():# a 代表键 ,b代表值

print(a,b)

text_dic(**dic)

#输出字典中的键:

def text_dic(**dd):

for key in text_dic:#key为键

print(key)

text_dic(**dic)

#输出字典中键的值:

def text_dic(**dd):

for value in text_dic.keys():#value为值

print(value)

text_dic(**dic)

变量的作用域:

全局变量:

全局变量的作用域当然是全局的随时可调用,他要是和局部变量冲突时,局部变量优先

局部变量:

在python中局部变量不可以改变全局变量。

当然如果你想在局部改全局变量的话,你可以先声明这个变量是全局变量globle,然后在进行更改

以上这篇基于python 将列表作为参数传入函数时的测试与理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值