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

    时间: 浏览:174次  来源:站长在线
欢迎你来到站长在线的站长学堂学习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
码字不易,打个赏呗
站长在线小编感谢你的支持!
站长在线站长一对一技术培训,100元两个小时
阿里云虚拟主机1G空间,120元一年
香港、美国虚拟主机100元一年,1000元永久
腾讯云双十一0.4折起,2核8G5M三年仅700元,2核4G8M三年仅198元

猜你喜欢

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

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

2022-01-10  分类:Python教程  浏览:61次


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

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

2022-01-06  分类:Python教程  浏览:88次


Python常用英语及用法

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

2022-01-02  分类:Python教程  浏览:84次


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

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

2021-12-29  分类:Python教程  浏览:104次


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

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

2021-12-26  分类:Python教程  浏览:110次


站长在线零基础Python完全自学教程21:Python中函数的创建和调用

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第21课《 Python中函数的创建和调用》。本文的主要内容有:在Python中函数的定义与创建、在Python中函数的调用详解。

2021-12-26  分类:Python教程  浏览:105次


站长在线Python精讲:在Python函数中的可变参数详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中的可变参数》。本文的主要内容有:可变参数的定义、带一个星号*的可变参数和带两个星号**的可变参数。

2021-12-25  分类:Python教程  浏览:136次


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

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

2021-12-24  分类:Python教程  浏览:112次


站长在线Python教程精讲:在Python函数中的关键字参数详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中的关键字参数详解》。本文的主要内容有:关键字参数的含义和关键字参数的应用举例。

2021-12-23  分类:Python教程  浏览:127次


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

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

2021-12-22  分类:Python教程  浏览:130次