欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中理解形式参数和实际参数》。本文的主要内容有:Python中形式参数的概念和特点,Python中实际参数的概念和特点,实际参数的值传递和引用传递。

目录

1、Python中形式参数的概念和特点

2、Python中实际参数的概念和特点

3、实际参数的值传递和引用传递。


我们在上一节课中,讲到了函数的调用。在Python中调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作处理。函数参数在定义函数时放在函数名称后面的一对小括号中:

def a (x):

其中,a是函数名,x是函数参数。

我们先来了解形式参数和实际参数

在使用函数时,经常会用到形式参数和实际参数。两者都叫作参数。

1、Python中形式参数的概念和特点

概念:在定义函数时,函数名后面括号中的参数为“形式参数”。

特点:形式参数就是变量名。

如:def  a(x)   其中x就是形式参数。

2、Python中实际参数的概念和特点

概念:在调用一个函数时,函数名后面括号中的参数为“实际参数”。也就是将函数的调用者提供给函数的参数称为实际参数。

特点:实际参数就是变量值。

如:def  a('python')  其中,python就是实际参数。

3、实际参数的值传递和引用传递。

根据实际参数的类型不同,可以分为:

3.1、将实际参数的值传递给形式参数。

3.2、将实际参数的引用传递给形式参数。

其中:

当实际参数为不可变对象时,进行的是值传递;

当实际参数为可变对象时,进行的是引用传递。

实际上,值传递和引用传递的基本区别就是:

进行值传递后,改变形式参数的值,实际参数的值不变;

进行引用传递后,改变形式参数的值,实际参数的值也一同改变。

例如,定义一个名称为demo的函数,然后为demo()函数传递一个字符串类型的变量作为参数(代表值传递),并在函数调用前后分别输出该字符串变量,再为demo()函数传递一下列表类型的变量作为参数(代表引用传递),并在函数调用前后分别输出该列表。代码如下:

#定义函数
def demo(obj):print("原值:",obj)obj += obj#调用函数
print("=========值传递========")
mot="人生苦短,我用Pyhon。"
print("函数调用前:",mot)
demo(mot)#采用不可变对象--字符串
print("函数调用后: ",mot)
print("=========引用传递========")#采用 可变对象--列表
list1 =["优雅","明确","简单"]
print("函数调用前: ",list1)
demo(list1)
print("函数调用后: ",list1)

运行代码如下:

=========值传递========
函数调用前: 人生苦短,我用Pyhon。
原值: 人生苦短,我用Pyhon。
函数调用后:  人生苦短,我用Pyhon。
=========引用传递========
函数调用前:  ['优雅', '明确', '简单']
原值: ['优雅', '明确', '简单']
函数调用后:  ['优雅', '明确', '简单', '优雅', '明确', '简单']
>>>

从上面的执行结果中可以看出,在进行值传递时,改变形式参数的值后,实际参数的值不改变;在进行引用传递时,改变形式参数的值后,实际参数的值也发生改变。

函数定义时参数列表中的参数就是形式参数,而函数调用时传递进来的参数就是实际参数。

就像剧本选主角一样,剧本的角色相当于形式参数,而演角色的演员就相当于实际参数。

到此为止,本文《在Python函数中理解形式参数和实际参数》主要讲到的Python中形式参数的概念和特点,Python中实际参数的概念和特点,实际参数的值传递和引用传递。

在下一个知识点,站长在线就来讲解《在Python函数中理解参数传递的位置参数》。关注站长在线,学习Python不迷路!欢迎你对站长在线进行关注,评论,点赞,分享、转发!

站长在线Python精讲:在Python函数中理解形式参数和实际参数相关推荐

  1. 站长在线Python精讲:Python中函数的返回值

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中函数的返回值>.本文的主要内容有:函数的返回值的含义.函数设置返回值的作用.return语句位置与多条 ret ...

  2. 站长在线Python精讲:Python中正则表达式的语法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中正则表达式的语法详解>.本知识点主要内容有9点:行定位符.元字符.限定符.字符集.排除字符.选择字符.转义字符 ...

  3. 站长在线Python精讲:Python中集合的交集、并集、差集和对称差集运算方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中集合的交集.并集.差集和对称差集运算方法详解>.主要讲的是集合运算的相关的概念,及运算方法,包括:集合的交集. ...

  4. 站长在线Python精讲:Python中字符串编码转换encode编码和decode解码详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中字符串编码转换:encode编码和decode解码详解>.本知识点主要内容有:常用编码简介.使用encode( ...

  5. 函数中的形式参数和实际参数

    1.举例:使用函数交换两个整形变量的值 运行结果: 分析: c语言中实际参数和形式参数之间采用值传递的方式来传递数据.在被调函数中,使用的是实际参数的一个拷贝数据.我们在swap函数中交换了a和b,那 ...

  6. 站长在线Python精讲:在Python函数中参数传递的位置参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中参数传递的位置参数详解>.本文的主要内容有:实参和形参数量必须与定义时一致和实参和形参位置必须与定义时一 ...

  7. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  8. 站长在线Python精讲:在Python中函数的调用详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中函数的调用详解>.本文的主要内容有:调用函数的基本语法和调用自定义函数的实例讲解. 目录 1.调用函数的基本 ...

  9. 站长在线Python精讲:在Python函数中的默认参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的默认参数详解>.本文的主要内容有:默认参数的概念和默认参数的示例.默认参数不能设置可变对象. 目录 1 ...

最新文章

  1. Jquery中关于动画的一些操作函数
  2. 使用eclipse编写JAVA程序
  3. 用矩阵点积的办法构造神经网络的迭代次数1:0.6:0.1=1:1:1
  4. go mysql 数据 json,golang查询数据返回json
  5. SQL编程---存储过程和存储函数
  6. 七牛服务器入门教程_教程:使用无服务器,StepFunction和StackStorm构建社区的入门应用程序…...
  7. Save the Room【找规律】
  8. 为真全面屏探路?2019款新iPhone将采用超小前置摄像头
  9. 熊猫烧香病毒背后的***社会
  10. XPATH的几个常用函数
  11. Win11打不开Windows安全程序如何修复?
  12. 【转】一个小妙招能让你在服装上省下好多rmb
  13. ArcGIS 在线地图加载插件介绍
  14. x86、ARM和MIPS三种主流芯片架构
  15. 详解Nginx Rewrite标记last和break的区别
  16. 熊猫的python小课怎么样_02_Python简单爬虫(熊猫直播LOL的up主,谁最强!)
  17. matlab神经网络工具箱使用教程
  18. Kaggle文本可读性识别大赛银牌方案复盘
  19. Java计算机毕业设计水果购物商城源码+系统+数据库+lw文档
  20. Capture Modules 车载网络报文捕获(监听)模块(低时延、802.1AS时钟同步)

热门文章

  1. 关于XP系统一些奇怪错误的收集
  2. 【老牌系统】u盘安装雨林木风操作步骤
  3. iPhone 4S获入网许可 国行销售进入倒计时
  4. Luogu P1344 追查坏牛奶
  5. Excel提取sheet页签,并生成跳转链接
  6. 基于JSP的美食网站管理系统设计与实现
  7. LeetCode All in One 题目讲解汇总(持续更新中...)
  8. java打包exe方案(自动携带jre)
  9. 电动汽车BMS中SOH和SOP估算策略总结
  10. 科技社计算机部长竞选演讲稿,学生会科技部长竞选演讲稿(通用3篇)