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

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

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


我们在上一节课中,讲到了函数的调用。在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不迷路!欢迎你对站长在线进行关注,评论,点赞,分享、转发!

本文地址:https://www.olzz.com/pythonxscshsjcs.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

域名pythonw.cn出售

域名pythonw.cn的详细信息:Python网

2022-08-06  分类:域名出售  浏览:1094次


站长在线Python教程:Python中类定义详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中类定义详解》。

2022-02-23  分类:Python学堂  浏览:1301次


站长在线Python教程:python中面向对象相关概述详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《python中面向对象相关概述详解》。本文的主要内容有:面向对象是什么、面向对象中的对象是什么、Python中的类是什么、面向对象编程的特点有哪些?

2022-02-14  分类:Python学堂  浏览:1127次


站长在线零基础Python完全自学教程23:函数的返回值、作用域和匿名函数

导读:欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第23课《函数的返回值、作用域和匿名函数》。本文是一个大课程分成了下面4节小课程:Python中函数的返回值、Python函数中的局部变量、Python函数中的全局变量、Python函数中的匿名函数等内容。

2022-02-09  分类:Python学堂  浏览:986次


站长在线Python教程:Python函数中的匿名函数详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python函数中的匿名函数详解》。本文的主要内容有:匿名函数的定义、匿名函数的表达式、匿名函数的注意点、匿名函数的优点、匿名函数的应用举例。

2022-02-01  分类:Python学堂  浏览:1134次


站长在线Python教程精讲:在Python函数中的全局变量详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中的全局变量详解》。本文的主要内容有:什么是全局变量、在函数外部定义的变量是全局变量、在函数内部定义中添加global关键词后变成全局变量。

2022-01-10  分类:Python学堂  浏览:1198次


站长在线Python教程精讲:在Python函数中的局部变量详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中的局部变量详解》。本文的主要内容有:变量的作用域的概念、局部变量的概念、局部变量的举例。

2022-01-06  分类:Python学堂  浏览:1121次


Python常用英语及用法

站长在线站长,准备系统的学习Python知识,但是对我来说,英语实在是太差了,当然我知道的是,不仅仅我,很多人在学习Python的时候,也是不知道这些英语单词的意思与用法的,在这里站长在线站长就把这些英语整理出来,把英语以及中文意思、用法一起贴出来,让大家一起来学习。

2022-01-02  分类:Python学堂  浏览:1350次


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

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中函数的返回值》。本文的主要内容有:函数的返回值的含义、函数设置返回值的作用、return语句位置与多条 return语句的总结。

2021-12-29  分类:Python学堂  浏览:1276次


站长在线零基础Python完全自学教程22:在Python中函数的参数传递

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第22课《在Python中函数的参数传递》。本文是一个大课程分成了下面5节小课程:在Python函数中理解形式参数和实际参数、在Python函数中参数传递的位置参数详解、在Python函数中的关键字参数详解、在Python函数中的默认参数详解、在Python函数中的可变参数详解。

2021-12-26  分类:Python学堂  浏览:1141次