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

文章目录

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


前言

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

  在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:可选参数,用于指定各个参数的值。如果需要传递多个参数值,则各参数值间使用逗号 “,” 分隔。如果该函数没有参数,则直接写一对小括号即可。

代码示例如下图所示:

在这里插入图片描述

相关内容

热门资讯

中信证券:2026年度造纸行业... 转自:财联社【中信证券:2026年度造纸行业预计底部改善 金属包装行业将迎来春天】财联社11月21日...
财联社汽车早报11月21日 转自:财联社两部门发布《新能源汽车政府采购需求标准(征求意见稿)》11月20日,财政部会同工业和信息...
四川阆中警方凌晨通报 转自:北京日报客户端11月21日凌晨,四川省阆中市公安局发布“警情通报”:11月20日,阆中市一学生...
@近视的你 当心甜食正在悄悄损... 来源:央视新闻客户端 用眼过度、强光刺激……这些常见的视力“杀手”相信大家都不陌生但日常生活中有一个...
直击车展 | MoLA架构发布...   Hehson科技讯 11 月 21日上午消息,在华为乾崑生态大会上,华为智能汽车解决方案 BU ...