Python基础(19)——Python函数讲解一

news2024/12/23 18:04:43

Python基础(19)——Python函数讲解一

文章目录

  • Python基础(19)——Python函数讲解一
  • 目标
  • 一. 函数的作用
  • 二. 函数的使用步骤
    • 2.1 定义函数
    • 2.2 调用函数
    • 2.3 快速体验
  • 三.函数的参数作用
  • 四.函数的返回值作用
    • 4.1 应用
  • 五.函数的说明文档
    • 5.1 语法
    • 5.2 快速体验
  • 六.函数嵌套调用
  • 七. 函数应用
    • 7.1 打印图形
    • 7.2 函数计算
  • 八. 总结

目标

  • 函数的作用
  • 函数的使用步骤
  • 函数的参数作用
  • 函数的返回值作用
  • 函数的说明文档
  • 函数嵌套

一. 函数的作用

需求:用户到ATM机取钱:

  1. 输入密码后显示"选择功能"界面
  2. 查询余额后显示"选择功能"界面
  3. 取2000钱后显示"选择功能"界面

特点:显示“选择功能”界面需要重复输出给用户,怎么实现?

image-20181231211912413

函数就是将一段具有独立功能的代码块 整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。

函数在开发过程中,可以更高效的实现代码重用

二. 函数的使用步骤

2.1 定义函数

def 函数名(参数):
    代码1
    代码2
    ......

2.2 调用函数

函数名(参数)

注意:

1. 不同的需求,参数可有可无。
2. 在Python中,函数必须==先定义后使用==。

2.3 快速体验

需求:复现ATM取钱功能。

  1. 搭建整体框架(复现需求)
print('密码正确登录成功')

# 显示"选择功能"界面

print('查询余额完毕')

# 显示"选择功能"界面

print('取了2000元钱')

# 显示"选择功能"界面
  1. 确定“选择功能”界面内容
print('查询余额')
print('存款')
print('取款')
  1. 封装"选择功能"

注意:一定是先定义函数,后调用函数。

# 封装ATM机功能选项 -- 定义函数
def select_func():
    print('-----请选择功能-----')
    print('查询余额')
    print('存款')
    print('取款')
    print('-----请选择功能-----')
  1. 调用函数

在需要显示“选择功能”函数的位置调用函数。

print('密码正确登录成功')
# 显示"选择功能"界面 -- 调用函数
select_func()

print('查询余额完毕')
# 显示"选择功能"界面 -- 调用函数
select_func()

print('取了2000元钱')
# 显示"选择功能"界面 -- 调用函数
select_func()

三.函数的参数作用

思考:完成需求如下:一个函数完成两个数1和2的加法运算,如何书写程序?

# 定义函数
def add_num1():
    result = 1 + 2
    print(result)


# 调用函数
add_num1()

思考:上述add_num1函数只能完成数字1和2的加法运算,如果想要这个函数变得更灵活,可以计算任何用户指定的两个数字的和,如何书写程序?

分析:用户要在调用函数的时候指定具体数字,那么在定义函数的时候就需要接收用户指定的数字。函数调用时候指定的数字和定义函数时候接收的数字即是函数的参数。

# 定义函数时同时定义了接收用户数据的参数a和b,a和b是形参
def add_num2(a, b):
    result = a + b
    print(result)


# 调用函数时传入了真实的数据10 和 20,真实数据为实参
add_num2(10, 20)

四.函数的返回值作用

例如:我们去超市购物,比如买烟,给钱之后,是不是售货员会返回给我们烟这个商品,在函数中,如果需要返回结果给用户需要使用函数返回值。

def buy():
    return '烟'

# 使用变量保存函数返回值
goods = buy()
print(goods)

4.1 应用

需求:制作一个计算器,计算任意两数字之和,并保存结果。

def sum_num(a, b):
    return a + b


# 用result变量保存函数返回值
result = sum_num(1, 2)
print(result)

五.函数的说明文档

思考:定义一个函数后,程序员如何书写程序能够快速提示这个函数的作用?

答:注释

思考:如果代码多,我们是不是需要在很多代码中找到这个函数定义的位置才能看到注释?如果想更方便的查看函数的作用怎么办?

答:函数的说明文档

函数的说明文档也叫函数的文档说明。

5.1 语法

  • 定义函数的说明文档
def 函数名(参数):
    """ 说明文档的位置 """
    代码
    ......
  • 查看函数的说明文档
help(函数名)

5.2 快速体验

def sum_num(a, b):
    """ 求和函数 """
    return a + b


help(sum_num)

image-20190219112749727

六.函数嵌套调用

所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数

  • 示例
def testB():
    print('---- testB start----')
    print('这里是testB函数执行的代码...(省略)...')
    print('---- testB end----')

def testA():
    print('---- testA start----')
    testB()
    print('---- testA end----')

testA()
  • 效果

image-20190219113648783

  • 执行流程

image-20190219113648783

  • 如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置。

七. 函数应用

7.1 打印图形

  1. 打印一条横线
def print_line():
    print('-' * 20)


print_line()

image-20190219155107988

  1. 打印多条横线
def print_line():
    print('-' * 20)


def print_lines(num):
    i = 0
    while i < num:
        print_line()
        i += 1


print_lines(5)

image-20190219155040124

7.2 函数计算

  1. 求三个数之和
def sum_num(a, b, c):
    return a + b + c


result = sum_num(1, 2, 3)
print(result)  # 6
  1. 求三个数平均值
def average_num(a, b, c):
    sumResult = sum_num(a, b, c)
    return sumResult / 3

result = average_num(1, 2, 3)
print(result)  # 2.0

八. 总结

  • 函数的作用:封装代码,高效的代码重用

  • 函数使用步骤

    • 定义函数
    def 函数名():
        代码1
        代码2
        ...
    
    • 调用函数
    函数名()
    
  • 函数的参数:函数调用的时候可以传入真实数据,增大函数的使用的灵活性

    • 形参:函数定义时书写的参数(非真实数据)
    • 实参:函数调用时书写的参数(真实数据)
  • 函数的返回值

    • 作用:函数调用后,返回需要的计算结果
    • 写法
    return 表达式
    
  • 函数的说明文档

    • 作用:保存函数解释说明的信息
    • 写法
    def 函数名():
        """ 函数说明文档 """
    
  • 函数嵌套调用:一个函数内部嵌套调用另外一个函数

9c7bc198b36f77679bc7983f2f02810 (1)

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

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

相关文章

大快人心,华为EDA领域的新突破,关联软件已取得全面适配

EDA被称为“芯片之母”&#xff0c;是集成电路、电子信息&#xff0c;甚至是全球数字经济的赋能者&#xff0c;是许多电子产业链的基石。 一直以来&#xff0c;就被国际的三大巨头占领&#xff1a;美国Synopsys、美国Cadence、德国Mentor Graphics&#xff0c;市场份额高达90%。…

locust学习教程(6)- 使用更快的http客户端:FastHttpUser

目录 1、概念 2、估算电脑允许的最大并发数 3、fasthttpuser的使用 &#x1f381;更多干货 完整版文档下载方式&#xff1a; 1、概念 Locust 的默认 HTTP 客户端使用的是 python-requests 库。如果我们需要运行非常高的吞吐量测试&#xff0c;去判断吞吐量是否达到预期值&…

免费文字转语音软件哪个好?推荐这三款文字转语音软件给你

文字转语音软件可以将我们输入的文字内容转化为人声朗读出来&#xff0c;这在很多场合都非常实用。比如&#xff0c;在开车或者做家务时&#xff0c;无法手持手机进行阅读&#xff0c;但是通过文字转语音功能&#xff0c;就可以轻松地听取所需内容。然而&#xff0c;市面上的文…

贴吧私信辅助软件工具开发

贴吧私信辅助软件工具开发&#xff0c;贴吧无线私信&#xff0c;用好贴吧也是一个大流量途径 【引流必备】最新外面卖1000多一套的贴吧私信机&#xff0c;日发私信十万条【详细视频操作教程软件】 服务时间&#xff1a;&#xff08;8&#xff1a;00—23&#xff1a;00&#xf…

MySQL数据库——事务

MySQL数据库——事务 一、事务的概念二、事务的ACID特点1.原子性2.一致性3.隔离性4.持久性5.事务隔离级别的作用范围 三、事务级别的查看与设置1.查询全局事务隔离级别2.查询会话事务隔离级别3.设置全局事务隔离级别4.设置会话事务隔离级别 四、事务控制语句1.测试提交事务2.测…

ssm 疫情防控数据可视化平台-计算机毕设 附源码87063

ssm 疫情防控数据可视化平台 摘要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对疫情防控数据可…

图像直方图笔记

图像直方图 在统计学中&#xff0c;直方图是一种对数据分布情况的图形化表示方法。 图像直方图是用来表示数字图像中亮度分布的直方图&#xff0c;使用图像直方图可以很直观地观察到该图的亮度分布情况。在图像直方图中&#xff0c;横轴从左到右分别表示了从纯黑到纯白区域的亮…

【C语言初阶】函数的具体用法,有这篇博客就够了

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello&#xff0c;这里是君兮_&#xff0c;今天又又又来给大家更新0基础C语言中的内容啦&#xff01;今天给大家带来的是C语言当中函数的调用以及使用&#xff0c;废话不多说我们直接开始吧&#xff01; 函数详解 一.函数…

专治疑难系列 - 解决打印机凭证冲突问题

‍‍&#x1f3e1;博客主页&#xff1a; Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主 &#x1f310;所属专栏&#xff1a;『专治疑难系列』 &#x1f30c;上期文章&#xff1a; 专治疑难系列 - 解决Ubuntu忘记root密码问题 &#x1f4f0;如觉得博主文章…

深度学习实例分割篇——Mask RCNN原理详解篇

&#x1f34a;作者简介&#xff1a;秃头小苏&#xff0c;致力于用最通俗的语言描述问题 &#x1f34a;专栏推荐&#xff1a;深度学习网络原理与实战 &#x1f34a;近期目标&#xff1a;写好专栏的每一篇文章 &#x1f34a;支持小苏&#xff1a;点赞&#x1f44d;&#x1f3fc;、…

如何系列 如何使用SikuliX执行自动化任务

文章目录 什么是SikuliX&#xff1f;SikuliX的使用场景安装SikuliX常用方法查找鼠标键盘其他 示例脚本示例一 自动抢票示例二 自动打开计算器示例三 自动访问CSDN博客搜索博主并关注其他 SikuliX原理SikuliX脚本Sikuli 源文件夹或压缩文件&#xff08;.sikuli、.skl&#xff09…

电源纹波测试,居然还能这么玩

开关稳压器因其具有非常高的效率优势&#xff0c;正在各个领域逐渐替代线性稳压器。 但由于开关稳压器通常被认为具有很大的输出纹波(Ripple)&#xff0c;所以很多工程师在高性能和噪声敏感型系统中只考虑使用低压差(LDO)稳压器。 而事实上&#xff0c;现今很多高性能开关稳压…

人机接口回路原理(三)

四、串行通信接口电路 &#xff08;一&#xff09;人机接口与保护CPU之间的串行通信 1&#xff0e;串行通信接口电路及其作用 人机接口与保护CPU之间的串行通信的作用是人机对话和巡检&#xff0c;其电路见图1&#xff0d;33所示。这个串行通信系统是主从分布式的系统&#x…

双向可控硅控制后续篇:过零检测电路、丢波、斩波、定时

概念讲解 当我们在使用AC负载的时候&#xff0c;为了能较好的控制负载工作功率&#xff0c;需要用到继电器、可控硅等对负载进行工作与断开的控制&#xff0c;从而将功率维持在所需的大小上&#xff0c;之前介绍双向可控硅的文章也讲了其控制方式主要有&#xff1a;定时、丢波…

go语言的反射和泛型

反射 反射可以在程序的运行时获取变量的各种信息。Go语言中光反射在reflect包下。 http://c.biancheng.net/view/4407.html 泛型 Go语言中通过断言转化为指定类型。 func main() {arr : []string{"int", "dghjs", "hdk"}printArr(arr)arr1 …

【JavaWeb】servlet实现excel表格数据批量导入到数据库

这是一个教大家使用excel表格&#xff0c;批量将数据导入到数据库的一个教程 通过Javaweb项目 的servlet技术实现&#xff0c;教程详细简单&#xff0c;跟着做就不会报错&#xff01; 1.下载依赖包&#xff1a; tomcat-jdbc的jar包下载&#xff1a;文件上传批量导入数据库依赖…

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是性能测试&a…

硬件系统工程师宝典(30)-----降压式Buck电路分析

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。上篇我们说到DC/DC变换中的开关调节模式有功耗小、效率高并且稳压范围宽的特点以及DC/DC的指标参数和设计要求。今天我们来分析一下DC/DC中的一个典型…

嬴图 | 围绕中心性算法在寄生虫网络的研究

算法在实践中的应用有哪些&#xff1f;中心性算法的特点和应用一文了解。 前言 寄生&#xff08;Parasitism&#xff09;是两种生物之间的一种“消费者—资源”的关系&#xff0c;即寄生虫&#xff08;Parasite&#xff09;和它的宿主&#xff08;Host&#xff09;。 寄生虫…

智芯MCU软件开发环境搭建

智芯MCU软件开发环境搭建 目录 智芯MCU软件开发环境搭建前言1 软件安装2 编译环境3 烧录环境4 新建工程结束语 前言 智芯科技的MCU主要应用于汽车行业&#xff0c;属于车规级的MCU&#xff0c;目前上市的MCU型号较少&#xff0c;相关资料也不多&#xff0c;所以这里出一期开发…