0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

函数参数的分类有哪些

麦辣鸡腿堡 来源:Python都知道 作者:了不起 2023-11-14 11:13 次阅读

一、函数参数的分类

函数的参数分为两类:形参 及 实参

形参:形参是在创建过程中声明的参数,如果不给形参传入特定的实参,形参就没有实际的意义 实参:实参是在函数的调用过程中传入的参数,这个参数具有实际意义,具有具体的数据类型

举例:

def fn(n1,n2):  # 在此过程中定义的参数就是形参
    print(n1 + n2)
fn(10,20)  # 在此过程中传入的变量就是实参

二、形参是对实参的值拷贝

形参与实参可以重名,但是其表示的是两个变量

举例:

def fn(num1):
    print(num1)
    num1 = 20
    print(num1)
num1 = 10
fn(num1)
print(num1)

对于不可变类型:

参考上例,当 num1 的值在函数的内部进行重新赋值时,在外部进行重新打印,打印的是原来的值,原因是在参数内部进行了形参的重指向,实参的值没有发生改变。

对于可变类型:

参考上例,num1 变为可变类型,当 num1 的值在内部使用append()方法进行添加元素时,在函数外打印 num1 ,打印的是添加后的列表,因为没有进行重指向,实参及形参指向的是同一个id

三、实参的分类

实参可以分为 位置实参 及 关键字实参

位置实参 ---> 根据位置进行参数的传递

举例:

#Python学习交流:711312441
def fn(a,b,c):
    print(a)
    print(b)
    print(c)
fn(1,2,3)

像上方这样传入参数时,实参的传入是按照参数的位置进行传递的,如果改变实参的位置,那么传入参数时就会改变传给形参的值,这样传入参数时的参数就叫做位置实参

fn(a=1,b=2,c=3)

像上方函数的调用这样,如果在调用函数时指名道姓的传入参数,那么不论实参的位置如何变化,形参的得到的值都不会发生变化,这种形式的实参就叫做关键字实参。

注: 1、位置实参是一定按照位置顺序进行参数的传递的,如果传递实参时,实参的顺序发生变化,那么形参的到的值也会发生变化。2、关键字实参采用的是指明道姓的赋值,所以实参进行位置变化时不会改变形参接收的值 3、在既有关键字实参,又有位置实参时,肯定是先进行位置参数的传值,再进行关键字实参的传值(位置参数在前,关键字参数在后)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3882

    浏览量

    61310
  • 变量
    +关注

    关注

    0

    文章

    596

    浏览量

    28112
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83468
收藏 人收藏

    评论

    相关推荐

    可变参数函数的实现原理

    ;);printf("%d, %c", i, j);不知道你注意过没有,printf函数参数个数是可变的,上面的第一个例子只有1个参数,第二个例子3个
    发表于 10-21 22:18

    线性分类

    方法可转化为一个最优化问题,在最优化过程中,将通过更新评分函数参数来最小化损失函数值。从图像到标签分值的参数化映射该方法的第一部分就是定义一个评分
    发表于 10-09 09:40

    天线原理/性能参数/分类

    天线原理天线的性能参数天线分类天线测量中的互易性
    发表于 01-04 07:52

    电感线圈的分类和主要特性参数

    电感线圈的分类电感线圈的主要特性参数
    发表于 01-25 07:54

    通讯组件的函数参数哪些?它是怎么使用的?

    什么是通讯组件?数据类型哪些?通讯组件的函数参数哪些?通讯组件是怎么使用的?
    发表于 09-18 07:14

    电感的分类与主要参数哪些呢

    第三节:电感的学习文章目录第三节:电感的学习一、电感简介二、电感的分类三、电感器主要参数一、电感简介电感器在电子电路中应用范围很广泛,在谐振、振荡、耦合、匹配、滤波、陷波、延迟、补偿及偏转电路中
    发表于 02-11 06:13

    指针作为函数参数

    指针作为函数参数 大多数C程序员开始使用指针时是用它们实现函数参数,所谓可变参数。为了理解可变参数
    发表于 07-29 11:49 2627次阅读

    有源滤波器按传输函数的极、零点分类

    有源滤波器按传输函数的极、零点分类 全极点型滤波器 以上介绍的巴特沃斯、切比雪夫、贝塞尔等三种滤波器,它们的共同
    发表于 05-19 11:43 1572次阅读

    lisp函数按功能分类

    Lisp 是一门关于列表的语言。Lisp 中的一切内容(从数据到组成应用程序的代码)都是列表。每个列表都由一些原子 和列表组成,数字就是原子,键入一个数字仅仅会返回该数字作为结果。本文是关于lisp函数按功能分类解析
    发表于 01-05 08:53 4952次阅读

    来聊聊函数是怎么传入参数

    从图例中可以看出,当A函数没有调用B函数时,A函数的栈帧只保存着局部变量,而EBP(栈底指针)指向的是A函数函数栈帧头,而当A
    的头像 发表于 07-05 15:57 6077次阅读

    C语言编程函数分类汇总资源下载

    C语言编程函数分类汇总资源下载
    发表于 04-15 16:40 16次下载
    C语言编程<b class='flag-5'>函数</b>库<b class='flag-5'>分类</b>汇总资源下载

    C语言函数参数介绍

    C语言数组元素作函数实参 数组元素可以用作函数实参,不能用作形参。 C语言在用数组元素作函数实参时,把实参的值传给形参,是“值传递”方式。 数据传递的方向是从实参传到形参,单向传递。 C语言数组名作
    的头像 发表于 03-10 14:30 1834次阅读

    函数参数

    对比功能块,函数没有任何他们保存参数值的内存。在函数激活时,本地数据只中临时地贮存。由于这个原因,当调用函数时,所有在函数声明部分定义的形式
    的头像 发表于 04-27 15:26 426次阅读
    <b class='flag-5'>函数</b>的<b class='flag-5'>参数</b>

    Python 函数参数分类

    文章应该对你会有不小的帮助。 接下来是正文。 1. 参数分类 函数,在定义的时候,可以有参数的,也可以没有参数。 从函数定义的角度来看,
    的头像 发表于 10-21 10:45 230次阅读

    main函数的三个参数

    main函数如果提供参数的话,有两个参数,一个是argc,一个是argv,其中,argc表示命令行参数的个数,argv是个指针数组,每个指针指向一个
    的头像 发表于 10-21 17:37 551次阅读
    main<b class='flag-5'>函数</b>的三个<b class='flag-5'>参数</b>