Python中函数的分类、创建和调用,你真的懂了吗
创始人
2024-05-30 22:26:38
0

文章目录

  • 前言
  • 一、函数分类
  • 二、创建函数
  • 三、调用函数


前言

  在前面的博客中,所有编写的代码都是从上到下依次执行的,如果某段代码需要多次使用,那么需要将该段代码复制多次,这种做法势必会影响开发效率,在实际项目开发中是不可取的。那么如果想让某一段代码多次使用,应该怎么做呢?
在这里插入图片描述

  在Python中,提供了函数解决这种问题。我们可以把实现某一功能的代码块定义为一个函数,然后在需要使用的时候,随时调用即可,十分方便。对于函数,简而言之就是可以完成某项工作的代码块,有点类似于积木块,可以反复使用
  接下来就对Python中函数的分类、创建及调用进行详细介绍。


一、函数分类

在Python语言中将函数分为两类:

  1. 内置标准函数。比如,我们之前接触的用于输出的 print() 函数,用于输入的 input() 函数及用于生成一系列整数的 range() 函数。这些都是Python内置的标准函数,是前辈已经写好的,可以直接使用。
  2. 自定义函数。说通俗点,就是自己创建的函数。即通过将一段有特定功能、可以重复使用的代码定义为函数,来达到一次编写、多次调用的目的。使用函数可以提高代码的重复利用率。

说明这里对内置的标准函数不做研究,接下来重点要介绍的就是自定义函数该如何创建及调用


二、创建函数

  创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具。创建函数需要使用 def 关键字实现,具体的语法格式如下:

def functionname([parameterlist]):['''comments'''][functionbody]

参数说明

  • functionname:函数名称,在调用函数时使用。函数名称的命名应遵循标识符命名规则,如果有多个单词,每个单词用下划线_连接。
  • parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用逗号 “,” 分隔。如果不指定,则表示该函数没有参数,在调用时也不指定参数。

注意:即使函数没有要传递的参数,也必须保留一对空的 “()”,否则会报错。如下图所示:

在这里插入图片描述

  • ‘’‘comments’‘’:可选参数,表示为函数指定注释,也称为 Docstrings(文档字符串),其内容通常是说明该函数的功能、要传递的参数的作用等,可以为用户提供友好提示和帮助的内容。

说明在定义函数时,如果指定了 ‘’‘comments’‘’ 参数,那么在调用函数时,可以通过 “函数名. __doc__” (doc左右各两个下划线)进行获取,比如下图代码所示。

在这里插入图片描述

  • functionbody:可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。如果函数有返回值,可以使用 return 语句返回。

注意:函数体 functionbody 和注释 '''comments''' 相对于 def 关键字必须保持一定的缩进,否则会报错如下图所示。

在这里插入图片描述

说明如果想定义一个什么也不做的空函数,可以使用 pass 语句作为占位符,或者添加注释,但是注释一定要是三引号包裹的注释,而不是 # 开头的单行注释,比如下图代码所示。

在这里插入图片描述


三、调用函数

  调用函数也就是执行函数。如果把创建的函数理解为创建一个具有某种用途的工具,那么调用函数就相当于使用该工具。调用函数的基本语法格式如下:

functionname([parametersvalue])

参数说明

  • functionname:函数名称,要调用的函数名称必须是已经创建好的
  • parametersvalue:可选参数,用于指定各个参数的值。如果需要传递多个参数值,则各参数值间使用逗号 “,” 分隔。如果该函数没有参数,则直接写一对小括号即可。

代码示例如下图所示:

在这里插入图片描述

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...