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


Posted in Python onJune 05, 2020

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

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

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 将列表作为参数传入函数时的测试与理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现将内容分行输出
Nov 05 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
Mar 14 Python
Flask框架各种常见装饰器示例
Jul 17 Python
flask中过滤器的使用详解
Aug 01 Python
利用python循环创建多个文件的方法
Oct 25 Python
python读取几个G的csv文件方法
Jan 07 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
python实现与redis交互操作详解
Apr 21 Python
通过Python把学姐照片做成拼图游戏
Feb 15 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 #Python
Python检测端口IP字符串是否合法
Jun 05 #Python
Python如何基于Tesseract实现识别文字功能
Jun 05 #Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 #Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 #Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 #Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 #Python
You might like
推荐文章系统(一)
2006/10/09 PHP
发挥语言的威力--融合PHP与ASP
2006/10/09 PHP
浅析is_writable的php实现
2013/06/18 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
JavaScript实现区块链
2018/03/14 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
深入了解Python中pop和remove的使用方法
2018/01/09 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
用Python实现职工信息管理系统
2020/12/30 Python
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
AOP的定义以及作用
2013/09/08 面试题
计算机大学生的自我评价
2013/10/15 职场文书
应届护士推荐信
2013/11/16 职场文书
入党申请人的自我鉴定
2013/12/01 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
社区活动策划方案
2014/08/21 职场文书
单位政审意见范文
2015/06/04 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫