c++函数传参有三种方式:分别是按值、按引用和按指针传递。简单的说按值传递的方式不会改变传递的参数本身,按引用传递的方式会改变参数本身(当然可以用const限制),按指针传递方式会改变指针指向的对象。那么python有没有这样的特性呢?以下做一些测试:

1.传递数字类型的变量(python里可能应该叫对象):

从测试代码中可以看到a并没有发生改变,函数中的parm(形参)值发生了改变。也就是说调用函数时参数a只是把值赋给了parm。

2.传递列表类型的变量:

从测试代码中可以看出经过函数调用后,a的值发生了改变。改变后的a和函数里的parm是一样的。可以理解为变量a把自己赋给了parm。

3.传递字符串类型的变量:

和数字类型一样,传递字符串类型的参数也是按值传递。

4.传递字典类型的变量:

和列表类型一样,传递字典类型的参数是按引用方式传递。

5.传递元组类型的变量:

在函数中试图改变传进来的元组的值,程序崩溃了。

忘了元组是不能改变它的值的....

总结:python中变量可以分为可变类型(如列表、字典)和不可变类型(如数字和字符串)。可变类型的变量可以看成是按引用传递,不可变类型的变量可以看成是按值传递。

shell 函数传递参数_python3基础之函数参数的传递方式相关推荐

  1. python入门之函数结构函数的参数_python3基础之函数参数类型

    函数的参数是函数内部与外部交流的纽带,上一篇文章我们使用了最简单的参数形式(就一个参数).接下来测试一下多个参数的情况是怎样的? 1.测试1 例子中使用了两个参数p1和p2, 函数的功能就是打印出p1 ...

  2. 自定义函数_python3基础07函数(自定义)

    "pythonic生物人"的第43篇分享. 详细介绍python中:自定义函数的构建:参数传递:模块中调用函数. 目录 0.楔子 1.自定义函数格式 2.编写函数说明文档 3.函数 ...

  3. python3 全局变量_Python3基础 当函数中的局部变量与全局变量同名了,各管各的...

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体. ------------------------------------- ...

  4. python中非可选参数_python基础教程函数参数

    python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些 ...

  5. python入门之函数结构函数的参数_Python 基础之函数初识与函数参数

    一.函数初识 定义:满足某一个方法 满足某一个功能#(1)功能(包裹一部分代码 实现某一个功能 达成某一个目的)#(2)可以反复调用,提高代码的复用性,提高开发效率,便于维护管理#(3)函数的基本格式 ...

  6. python中使用函数的优点_Python基础之函数基本用法与进阶详解

    本文实例讲述了Python基础之函数基本用法与进阶.分享给大家供大家参考,具体如下: 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数 ...

  7. python average函数详解_python基础之函数详解

    Python基础之函数详解 一.函数的定义 到现在为止,我们已经掌握了Python的基本语法和数据类型等相关基础知识了,以进行一个项目的编写了,这个时候,就会发现,很多代码需要我们进行复制粘贴,这简直 ...

  8. python中sorted函数的用法_Python3 中sorted() 函数的用法

    描述 sorted() 函数对所有可迭代的对象进行排序操作. 语法 sorted(iterable, key=None, reverse=False) iterable – 可迭代对象. key – ...

  9. python调用函数的优点_python基础之函数

    1. 函数特点 1.1 定义了之后,可以在任何需要它的地方调用. 1.2 函数名不能变,每次调用实现相同的功能. 定义函数是的参数为形式参数,调用函数时传入的函数为实际参数. 形参和函数体中的参数相同 ...

最新文章

  1. NAACL19笔记:自然语言处理应用的实用理解(多图解链接)
  2. 查找xml文件中某接点的值
  3. 机器人 铑元素_智能机器人 三十三
  4. Java-数据结构与算法-二分查找法
  5. SQL DATEADD (Transact-SQL)根据需要返回时间,
  6. Java 10 var关键字详解和示例教程
  7. hex文件转bin格式
  8. 利用python批量将excel中文翻译成英文
  9. Django开发了个人博客以及开通公众号
  10. 【读点论文】EfficientFormer: Vision Transformers at MobileNet Speed,运用纯transformer架构对比卷积模型在终端上部署的推理速度
  11. 什么是第三方支付公司?
  12. mysql5.7.17winx64安装_MYSQL数据库mysql 5.7.17 winx64安装配置图文教程
  13. Using LSTM network generate MIDI files 用LSTM神经网络合成MIDI音乐
  14. 删除 Mac OS X 中“打开方式”里重复或无用的程序列表
  15. 阿里云安装部署Oracle11g 图文流程
  16. online python compiler_在线控制台编译器:Online Console Compiler
  17. “北斗一号”卫星导航定位系统与GPS的区别
  18. “走进“ VR画展,犹如身临其境
  19. TM4C123G学习记录(5)--PWM输出
  20. ubuntu打开rar文件方法

热门文章

  1. Type Dynamic Web Module 4.0 requires Java 1.8 or newer----彻底杀死Bug
  2. 如何用一行 CSS 实现 10 种现代布局?
  3. 有奖征文 | 蒋涛邀你悦评《UNIX传奇》新书,赢技术进阶好礼
  4. 面试官:如何评估一个线程池需要设置多少个线程
  5. 6000万条GitHub帖子告诉你:工作状态与表情符号强相关
  6. 微软:Excel 正成为开发者的终极武器!
  7. 你熟知的开源项目,幕后推手竟然是他们?
  8. 腾讯云区块链产品负责人邵兵:产业区块链刚刚起步,做好基础设施才有可能进入2.0阶段
  9. 夹缝中的中小开源项目,融资之路该如何走?
  10. 腾讯回应微信读书侵害用户信息;苹果称今年新iPhone将推迟数周发布;Julia 1.6.0 发布| 极客头条...