ln函数怎么看奇偶性_Python中函数的参数应该怎么理解?看完这篇文章情不自禁的想收藏...

前面给大家讲过,函数是一种编程思想,是提高代码重复利用的设计思路,是代码设计更深层次的产物。今天要给大家讲的就是函数的核心:函数的参数

基本概念

1、函数的参数:是指函数完成某项功能所需要的信息

举个例子,大家都知道print()函数,它可以完成打印功能,那么需要让它完成打印,就需要给它一个信息:打印的内容,那么这里的打印的内容就是print函数的参数。

40121c0ebda5bdc8bd9e3fe35351481d.png

2、函数的参数有哪几种类别:

  • 默认参数:函数在定义过程中可以为指定参数默认的值,必须放在默认参数的左侧
  • 可变参数:参数的个数不固定
  • 关键字参数:参数的名字需要固定的参数
  • 组合参数:多种类型的参数组合在一起

下面针对这几种参数进行实例说明

实例说明:默认参数

# 例:判断一个整数是奇数还是偶数def isDoule(num,constant=2):    if num%constant==0:        return True    else:        return False

上例中定义了一个isDoule函数来判断一个整数是奇数还是偶数,那么这个函数有两个参数,一个是num,一个是constant。根据这个函数的功能不难得出num这个参数是必须要的,我们叫必要参数;constant这个参数,我们给了它一个默认值,它就是默认参数。

# 一般情况下的调用print(isDoule(5,2))# 默认参数可以缺省print(isDoule(5))

因为这个函数isDoule有两个参数,一般说来,调用时我们就给它传递两个参数,比如num=5,constant=2;运行之后,返回的结果肯定为False;但是由于constant是个默认参数,所有,我们的传参数时,可以缺省掉默认参数,运行之后,结果仍未False。

6234638f3da9fd096ba25ce341a96411.png

但是,如果我们在调用函数isDoule时,给它传入参数,num=4,constant=3,如下:

def isDoule(num,constant=2):    print(constant)    if num%constant==0:        return True    else:        return Falseprint(isDoule(4,3))

运行之后,constant的值变为了3,并且函数返回的结果为False。这说明,我们给默认参数传递的参数会覆盖掉函数定义时的默认值,函数将以新传递的参数进行运算。

c63672c0bef66074802a22cab36a1aad.png

实例说明:可变参数

# 任意数值得求和函数def sumNumber(*numbers):    result=0    for n in numbers:        result=result+n    return result

上例中定义了求和函数sumNumber,它的参数是:*number,表示number是一个可变参数。这里需要大家注意的是,可变参数的数据类型只能是list或者tuple。

print(sumNumber(1,2,3))print(sumNumber(1,2,3,4,5,6))

我们可以分别给它传入参数(1,2,3)和(1,2,3,4,5,6),参数的个数是可以变化的。当我们的参数是不确定的list或者tuple的时候,我们就可以用可变参数来定义。

b7833af4799fa5aff855369fee8183bf.png

实例说明:关键字参数

def liveUser(**kw):    for key,value in kw.items():        print("{}{}".format(key,value))

上例中定义了liveUser函数,它的参数是:**kw,表示kw是一个关键字参数。关键字参数的数据类型只能是字典类型{key:value}。函数liveUser是将关键字参数的键和值打印出来。

liveUser(k1="来了")

运行之后,打印出来:K1来了。这里大家应该也可以看出来,kw这个参数是关键字参数,同时也是可变参数,我们叫做可变关键字参数。还有一种叫做命名关键字参数:

# 命名关键字参数def worker(name,sex,*,age):    print(name,sex,age)woker("张三","男",age=30)

我们定义的worker函数有三个参数,分别是:name、sex以及age,大家注意age前面有个*,表示age为命名关键字参数,它表示这个参数传递时是需要以字典的形式来进行的,并且字典的键名也指定为age,调用的时候应该这样来写:

woker("张三","男",age=30)

实例说明:组合参数

# 组合参数def schoolCourse(name,c="北京大学",*courseName,**kw):    allCourse="".join(courseName)    gradename=list(kw.values())    print("{}的{}{}的课程有:{}".format(c,name,gradename[0],allCourse))

组合参数就是将必要参数,默认参数,可变参数,关键字参数按照顺序组合在一起,它一般在功能多的函数中会用到。上例中给函数schoolCourse定义了组合参数:必要参数name、默认参数c="北京大学"、可变参数*courseName、关键字参数**kw。

schoolCourse("张三","清华大学",*("语文","数学","英语"),grade="大一")

根据上面介绍的几类参数的要求,来调用schoolCourse函数,给它传入对应的参数,运行之后,结果如下:清华大学的张三大一的课程有:语文 数学 英语

以上就是函数的几种参数,弄懂这几类参数的用法,基本上能完成所有函数的定义。

针对上面的实例,如有任何疑问,欢迎在评论区留言或者私信小编,小编会认认真真为大家解答哦!

喜欢小编的讲解思路的朋友,欢迎点下“关注”,非常感谢大家的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象设计思想-C语言

面向对象的三个特征:封装,继承,多态。但是C语言不是面向对象编程语言,所以需要借助一些技巧来实现这三个特征:(1)C语言没有成员函数,struct只能封装数据,不能封装方法&am…

three.js加载3d模型_基于WebGL的3D技术在网页中的运用 ThingJS 前端开发

Three.js、ThingJS这些引擎库可以加载3D制作软件的模型&#xff0c;大幅度提高了制作效率&#xff0c;改变WebGL开发困难的局面&#xff0c;让Web开发者享受便捷的3D开发服务。三者的难度对比如下&#xff1a;ThingJS&#xff08;框架&#xff09;< Three.js&#xff08;引擎…

C语言 | typedef

C语言typedef用新的类型名代替原有的类型名//指定用Integer为类型名&#xff0c;作用与int相同。 typedef int Integer&#xff1b;//指定用Real为类型名&#xff0c;作用与float相同。 typedef float Real&#xff1b;C语言允许程序设计者用一个简单的名字代替复杂的类型形式命…

php珠心算源码,深度解析珠心算的“开智”功能

编者按&#xff1a;本文来自李绵军校长在廊坊智慧特训营演讲。李绵军校长通过十几年来对珠心算的钻研练习&#xff0c;详细解读了珠心算的开智功能&#xff0c;以及“一门深入”的作用。珠心算的开智价值是在哪里&#xff1f;大家都说开发智力&#xff0c;我在这讲开发智力不是…

C语言 函数

定义函数在 C 语言中&#xff0c;函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分&#xff1a;返回类型&#xff1a;一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值&#xff0c;在这种情况下&#xff…

自适应 幻灯片代码 app_字节跳动 To B 再添一员,将推出飞书文档独立App | 36氪独家...

不只是功能点的延伸&#xff0c;以 C 端打 B 端&#xff0c;是字节跳动推出“飞书文档”的另一体现。文&#xff5c;苏建勋头图来源| IC photo据36氪获悉&#xff0c;字节跳动旗下移动办公软件“飞书”将于近期推出独立 App “飞书文档”。这是继2月底&#xff0c;字节跳动推出…

听说高手都用记事本写C语言代码?

坊间传闻高手都喜欢用记事本写代码&#xff0c;那么问题来了&#xff0c;我们以C语言为例&#xff0c;如何用记事本编译运行呢&#xff1f;其实最简单的方式就是安装GCC编译器&#xff0c;在记事本编写C语言程序&#xff0c;然后再在命令行用GCC编译运行&#xff0c;下面我简单…

jface_使用JFace Viewer延迟获取模型元素

jfaceEclipse JFace Viewers显示的模型元素有时需要花费大量时间来加载。 因此&#xff0c; 工作台提供了IDeferredWorkbenchAdapter类型以在后台获取此类模型元素。 不幸的是&#xff0c;似乎仅通过DeferredTreeContentManager派生的AbstractTreeViewer支持此机制。 因此&…

C语言边角料:结构体中指针类型的成员变量,它的类型重要吗?

一、前言昨天在编译代码的时候&#xff0c;之前一直OK的一个地方&#xff0c;却突然出现了好几个 Warning!本着强迫症要消灭一切警告的做法&#xff0c;最终定位到&#xff1a;是结构体内部&#xff0c; 指向结构体类型的指针成员变量导致的问题。这个问题&#xff0c;也许永远…

C语言:--位域和内存对齐

位域位域是指信息在保存时&#xff0c;并不需要占用一个完整的字节&#xff0c;而只需要占几个或一个二进制位。为了节省空间&#xff0c;C语言提供了一种数据结构&#xff0c;叫“位域”或“位段”。“位域“是把一个字节中的二进位划分为几个不同的区域&#xff0c;并说明每个…

C语言实现数据字节序交换的四种方式

1关于数据字节序的说明1&#xff09;关于字节序的说明字节序有两种大端和小端。大端&#xff1a;数据高位存放在低地址&#xff0c;地位放在高地址。如0x12345678在内存中存放为地址从左到右为低到高12345678。 小端&#xff1a;数据地位存放在低地址&#xff0c;高位存放在高地…

C语言如何实现动态数组?

提出问题请问在c语言里如何实现动态大小的数组啊&#xff0c;比如说int a[N];&#xff0c;这里N的值可以在程序中定&#xff0c;或者有什么方法可以实现类似的功能&#xff1f;总之只要在编译时不用制定数组大小就行。分析问题嵌入式系统的内存是宝贵的&#xff0c;内存是否高效…

Oracle为什么装在XP系统,重装xp系统后oracle恢复方法

重装系统后oracle如何恢复呢?下面就给大家介绍一下重装系统后oracle的恢复方法1、我们安装数据库软件只需安装同版本的数据库软件&#xff0c;不需要创建数据库。最好安装在和原来数据库同样的%ORACLE_HOME%下&#xff0c;省得还要修改参数文件路径等。(直接覆盖原来的oracle即…

vba 当前文件名_VBA代码解决方案第77讲内容:如何导出文件

大家好&#xff0c;我们今日继续讲解VBA代码解决方案的第77讲内容&#xff1a;如何导出文件&#xff0c;形成一个文本文件&#xff0c;如果需要将工作表中的数据保存为文本文件&#xff0c;可以创建一个文本文件用于保存数据。应用于FileSystemObject对象的CreateTextFile方法创…

常见的C语言字符串操作

#字符串倒序输出实现逻辑&#xff0c;通过strlen获取字符串长度&#xff0c;然后通过 len/2 进行交叉赋值&#xff0c;这里需要注意&#xff0c;不需要考虑len是奇数还是偶数的问题。如果len是奇数&#xff0c;最后一个字符就不需要倒序&#xff0c;如果是偶数&#xff0c;最后…

mui 时间样式错乱_微信公众号素材样式中心在哪?公众号动态分割线怎么添加?...

相比于静态分割线&#xff0c;动态分割线更有特色&#xff0c;能给文章增加趣味性。今天壹姐就来给公众号运营的小伙伴们介绍&#xff0c;怎么添加动态的分割线样式到文章里吧~1怎么使用公众号样式中心公众号后台的编辑功能比较基础&#xff0c;想要使用好看的公众号素材&#…

php获取访问量文本形式,php利用用文本统计访问量的方法图文详解

这篇文章主要介绍了php使用文本统计访问量的方法,涉及php文本文件读写与数值运算的相关技巧,需要的朋友可以参考下方法1&#xff1a;$fp fopen("counter.txt", "r");while(!flock($fp, LOCK_EX)) { // acquire an exclusive lock// waiting to lock the f…

yolov4论文_Alexey 大神接棒,YOLOv4 重磅来袭!快来一睹论文真容吧!| 原力计划...

作者 | Mr.Jk.Zhang责编 | 夕颜出品 | CSDN(ID:CSDNnews)前言千呼万唤始出来系列&#xff0c;继YOLOv3两年后&#xff0c;YOLOv4终于在上周出来了&#xff0c;让我们来一睹论文真容吧&#xff01;由于YOLO之父Jeseph Redmon在今年2月已宣布退出CV学术界&#xff0c;大家都以为Y…

【C/C 】浅谈C/C 中函数指针与回调函数

01、函数指针1.1、函数指针定义一个函数总是占用一段连续的内存区域&#xff0c;函数名在表达式中有时也会被转换为该函数所在内存区域的首地址&#xff0c;这和数组名非常类似。我们可以把函数的这个首地址&#xff08;或称入口地址&#xff09;赋予一个指针变量&#xff0c;使…

jvm 错误_JVM因“ OutOfMemory”错误而关闭-我该怎么办?

jvm 错误看起来似乎很神奇&#xff0c;但是在有关JVM设置的搜索请求结果中经常显示“来自深度”的特定呼声。 您可能会遇到“我记得那个选项&#xff0c;但如何启用它”的问题&#xff0c;而有时&#xff08;主要是半年一次&#xff09;管理服务器或调整虚拟设备&#xff0c;而…