第五章 函数和代码复用

这篇具有很好参考价值的文章主要介绍了第五章 函数和代码复用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第五章 函数和代码复用

5.1 函数的基本使用

函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。因此,函数的使用包括两部分:函数的定义函数的使用

使用函数主要有两个目的:降低变成难度增加代码复用。函数是一种功能抽象,利用它可以将一个复杂的大问题分解成一系列简单的小问题,分而治之,为每个小问题编写程序,通过函数封装,当各个小问题都解决了,大问题也就迎刃而解。函数可以在一个程序中多个位置使用,也可以用于多个程序,当需要修改代码时,只需要在函数中修改一次,所有调用位置的功能都更新了,这种代码复用降低了代码行数和代码维护难度。

5.1.1 函数的定义

Python语言通过保留字def定义函数,语法格式如下:

def <函数名>(<参数列表>):
	<函数体>
	returen <返回值列表>

函数名可以是任何有效的Python标识符。

参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时个参数由逗号分隔,当没有参数时也要保留圆括号。参数列表中参数是形式参数,简称为“形参”,相当于实际参数的一种符号表示或符号占位符。

函数体是函数每次被调用时执行的代码,由一行或多行语句组成。

如果需要返回值,使用保留字return和返回值列表。

函数可以没有return语句,函数体结束后会将控制权返回给调用者。

5.1.2 函数的使用

函数的定义也叫函数“声明”,定义后的函数不能直接运行,需要经过“调用”才能得到运行。语法格式如下:

<函数名>(<实际赋值参数列表>)

函数的使用一共分为四个步骤:

  1. 函数定义:使用def保留字将一段代码定义为函数,需要确定函数名、参数名、参数的个数、使用参数名称作为形式参数(占位符)编写函数内部的功能代码。
  2. 函数调用:通过函数名调用函数功能,对函数的各个参数赋予实际值,实际值可以是实际数据,也可以是在调用函数前已经定义过的变量。
  3. 函数执行:函数被调用后,使用实际参数(赋予形式参数的实际值)参与函数内部代码的运行,如果有结果则进行输出。
  4. 函数返回:函数执行后,根据return保留字的指示决定是否返回结果,如果返回结果,则结果将被放置到函数被调用的位置,函数使用完毕,程序继续运行。
5.2 函数的参数传递
5.2.1 可选参数传递

函数的参数在定义是可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义是的默认值替代,函数定义是的语法格式如下:

def <函数名>(<非可选参数列表>,<可选参数> = <默认值>):
	<函数体>
	return <返回值列表>

需要注意,可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。

5.2.2 参数名称传递

Python语言同时支持函数按照参数名称方式传递参数,语法格式如下:

<函数名>(<参数名> = <实际值>)

采用函数名称传递方式不需要保持参数传递的顺序,参数之间的顺序可以任意调整,只需要对每个必要参数赋予实际值即可,这种方式会显著增强程序的可读性。

5.2.3 函数的返回值

return语句用来结束函数并将程序返回到函数调用的位置继续执行。return语句可以出现在函数中的任何部分,同时可以将0个、1个或多个函数运算的结果返回给函数被调用处的变量。

函数可以没有return,此时函数并不返回值。当函数使用return返回多个值,可以使用一个变量或多个变量保存结果。语法格式如下:

变量1,变量2 = <函数名>(<实际值1>,<实际值2>)
5.3 变量的作用域

根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。

局部变量仅在函数内部,且作用域也在函数内部。

全局变量的作用域跨越多个函数。

5.3.1 局部变量

局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不再存在。文章来源地址https://www.toymoban.com/news/detail-460447.html

# 变量z是函数multiply()内部使用的变量,当函数调用后,变量z将不存在。
def multiply(x, y=10):
    z = x * y  # z是函数内部的局部变量
    return z


s = multiply

到了这里,关于第五章 函数和代码复用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux——(第五章)用户管理

    目录 一、概述 二、基本操作 1.添加用户 2.指定/修改密码 3.删除用户 4.查询用户信息 5.切换用户 6.查看创建了那些用户 7.查看登录用户信息 8.设置普通用户具有root权限 9.用户组 10.修改组 11.用户和组的相关文件         Linux系统是一个多用户多任务的操作系统,任何一个要

    2024年02月09日
    浏览(39)
  • Python第五章作业

    目录 第1关 回文素 第2关 反素数 第3关 哥德巴赫猜想 第4关 货币转换 第5关 个人信息提取 第6关 身份证号基本信息 第7关 各位数字之和为5的数 第8关 字符串长度 第9关 字符串加密 第10关 输出单词 第11关 字符大小写转换 第12关 查找指定字符 第13关 随机密码生成器

    2024年02月04日
    浏览(58)
  • 第五章-课后习题

    5.1 题目:我国1949-2008年每年铁路货运量数据如表5-9所示: 请选择适当的模型拟合该序列,并预测2009-2013年我国铁路货运量。 SAS 程序 data a; input volume@@; year=intnx( \\\"year\\\" , \\\'01jan1949\\\'d ,_n_- 1 ); format year year4. ; cards ; 54167 55196 56300 57482 58796 60266 61465 62828 64653 65994 67207 66207 65859 67295 69

    2024年02月04日
    浏览(38)
  • 【OpenCV】第五章: 几何变换

    第五章: 几何变换 1、什么是图像的几何变换? 图像的几何变换就是将一组图像数据经过某种数学运算,映射成另外一组图像数据的操作。所以, 几何变换的关键就是要确定这种空间映射关系。 几何变换又称空间变换。对于图像数据来说,就是将一幅图像中的坐标位置映射到

    2024年02月03日
    浏览(37)
  • 第五章:HTTP 协议

    HTTP(Hypertext Transport Protocol)协议;中文叫 超文本传输协议 ,是一个基于TCP/IP的应用层通信协议 这个协议详细规定了 浏览器 和万维网 服务器 之间互相通信的规则。 协议中主要规定了两个方面的内容: 客户端:用来向服务器发送数据,可以被称之为 请求报文 服务端:向客

    2024年04月26日
    浏览(25)
  • 第五章 逻辑回归

    Logistic回归的⼀般过程 收集数据:采⽤任意⽅法收集数据。 准备数据:由于需要进⾏距离计算,因此要求数据类型为数值型。另外,结构化数据格式则最佳。 分析数据:采⽤任意⽅法对数据进⾏分析。 训练算法:⼤部分时间将⽤于训练,训练的⽬的是为了找到最佳的分类回

    2024年02月13日
    浏览(32)
  • 第五章 常用类

    QString 是Qt中的 字符串类 ,QString使用 Unicode编码 。 C和C++使用的ASCII编码中,一个字符是8位的char,但是在Qt中因为使用的时候QString,因此字符串中的每个字符是一个16位的QChar, 完美支持中文。 QString可以通过下面的函数完成与数字之间的转换。 QString QString::number(int n, int b

    2024年02月04日
    浏览(23)
  • 第五章 Git

    【1】版本控制 【2】开发中存在的麻烦 【1】Git和SVN对比 (1)SVN (2)Git 【1】下载 【2】安装 一路下一步就好了,更换安装位置,最后不选择view Release Notes 任意文件位置右键多了Git GUI Here和Git Bath Here两个选项,就表示安装成功 运行Git命令客户端,使用git --version命令可以查

    2024年02月14日
    浏览(31)
  • 第五章 图像处理

    本章讲讲解图像处理相关内容,包括图像金字塔、图像轮廓模板提取、直方图、图像傅里叶变换等。 含义: 图像金字塔是一种用于图像处理和计算机视觉的技术。它是一系列图像的集合,其中每个图像比前一个图像分辨率更低, 从而形成一种金字塔形的结构。这些图像可以由

    2024年02月05日
    浏览(49)
  • 第五章:IO设备

    什么是IO设备? “1/0”就是“输入/输出” (Input/Output) IO 设备就是可以 将数据输入到计算机 ,或者可以 接收计算机输出数据 的外部设备,属于计算机中的硬件部件。 按使用特性分类 按传输速率分类 按信息交换的单位分类 IO 设备的电子部件(IO控制器) CPU无法直接控制 I

    2024年02月16日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包