Python学习之路:函数传递可变参数与不可变参数
函数传参的方法:
太基础了,8说了
直接上重点
一、可变参数的传递
可变参数有:列表、集合、字典
直接上代码:
a = [1, 2]def fun(a):print('传入函数时a的值为:', a)a.insert(2, 3) #修改aprint('函数改动后a的值为:', a)fun(a) #调用函数 print('调用函数后全局中a的值为:', a)结果为:传入函数时a的值为: [1, 2] 函数改动后a的值为: [1, 2, 3] 调用函数后全局中a的值为: [1, 2, 3] #可以看到函数外部a的值被改变了
结论:
函数传递可变参数时,会将包括索引在内的整体传递进去,当函数内部对参数进行修改时,函数外部的参数也会被修改
注:
这里的修改指的是不会重新创建索引的那种修改,故赋值操作不属于这种情况
二、不可变参数的传递
不可变参数有:数字、字符串、元组
上代码:
a = 1def fun(a):print('传入函数时a的值为:', a)a = 2 #这里是通过重新赋值的方法修改,只是为了举例,毕竟不可变参数没有真正的修改方法print('函数改动后a的值为:', a)fun(a) #调用函数 print('调用函数后全局中a的值为:', a)结果为:传入函数时a的值为: 1 函数改动后a的值为: 2 调用函数后全局中a的值为: 1 #可以看到函数外部a的值并没有改变
结论:
函数传递不可变参数时,只传递了值,当函数内部对参数进行修改时,其实只是重新创建了一个同名参数,函数对这个同名参数的操作并不会影响到函数外部的参数
注:
这里为了举例使用的是重新赋值的方法,其实在这种情况下即使a是可变参数,全局中的a也不会改变,因为赋值操作会重新建立索引,相当于在函数内重新创建了同名参数
转载于:https://www.cnblogs.com/toxic-antidote/p/11468363.html
Python学习之路:函数传递可变参数与不可变参数相关推荐
- python学习之路---函数:定义def、调用、返回值return、参数说明、参数陷阱
#函数 #可读性强,复用性强 #函数定义:定义了之后,可以在任何需要的地方调用 #格式: def 函数名(): 例子:def mylen(): # 没有返回长度,只能单纯的打印 # return 返回 ...
- Python学习之路--函数
初识函数 可读性,复用性强 定义之后,可以在任何需要它的地方调用 所有函数 只定义不调用不会执行 先定义后调用 def 函数名(): # 函数体 return 返回值 函数调用 函数名()不接收返回 ...
- Python学习之路9☞面向对象的程序设计
Python学习之路9☞面向对象的程序设计 一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什 ...
- Python学习笔记12_函数
Python学习笔记12_函数 文章目录 Python学习笔记12_函数 1.函数定义 2.函数调用 3.函数的参数 3.1.可更改对象和不可更改对象参数 3.2.必需参数(位置参数) 3.3.关键字 ...
- Python学习之路—2018/7/14
Python学习之路-2018/7/12 3.功能开发 3.3 设计博客首页 博客首页中最重要的就是中间的文章区域,所以我首先把文章区域设计出来,一开始并没有数据,如果用orm添加或者直接在数据库添加 ...
- Python学习之路5☞文件处理
Python学习之路5☞文件处理 一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1 正趣果上果 2 Interesting fruit fruit 3 4 ...
- Python学习笔记:函数(Function)
Python学习笔记:函数(Function) 一.函数基本概念 函数是Python里组织与重用代码最重要的方法.一般来说,如果你期望多次重复相同或相似的代码,写一个可重用的函数可能是值得的.函数通过 ...
- 我的Python学习之路(一)_Mr_Ouyang
我的Python学习之路(一)_Mr_Ouyang 笔者按: 本文从18:55开始写作,至19:38中断,又从21:12始继续,至23:22写就. 共计耗时113分钟,总字数9081字,约80.4字/ ...
- python学习之路:python连接阿里云ODPS
python学习之路:python连接阿里云ODPS 前言 本人最近在学习使用ODPS,希望把学习过程记录下来,方便自己查阅. 1.安装ODPS pip install ODPS 2.连接阿里云odp ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
最新文章
- python和linux哪个难学-请不要重复犯我在学习Python和Linux系统上的错误
- 北大igem生物计算机,正在报名 | 2019国际基因工程机器大赛(iGEM)
- Java8函数式编程(3)--规约操作
- 【最佳实践】【Blend】Triggers、Actions 和 Behaviors
- HTTP和RPC的区别?
- NumPy 算术函数
- Spring源码全解
- 设计模式之单例模式:7种单例设计模式(Java实现)
- 映射网络驱动器失败的解决办法
- 手机号验证最新正则表达式
- Trump International Hotel Washington, D.C.宣布跻身猫途鹰“旅行者之选”美国获奖酒店四强之列
- linux simg2img,simg2img工具
- class0:计算机的潜意识——机器学习
- Luogu 3174 [HAOI2009]毛毛虫
- AAAI 2020 | 清华大学:借助BabelNet构建多语言义原知识库
- 0x0f的java写法_0x0f(0x0f转化十进制)
- 飞桨博士会第十一期回顾:人工智能与生命科学的硬核碰撞
- Chemoffice 2018安装教程
- GCC种builtin函数的介绍以及实现过程(1)
- mysql获取年月日周季度