【Python入门篇】——Python函数(函数介绍,函数的定义,函数的参数和函数的返回值)

news2024/11/25 6:59:47

作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句,Python函数,Python的数据容器等。
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

在这里插入图片描述


Python函数

  • 1. 函数介绍
  • 2. 函数的定义
  • 3. 函数的参数
    • 3.1 函数的传入参数
    • 3.2 函数的传入参数 - 传参定义
    • 3.3 函数的传入参数 - 语法解析
  • 4. 函数的返回值

1. 函数介绍

函数:是组织好的,可重复使用的,用来实现特定功能的代码段。
例如:
在这里插入图片描述
什么随时都可以使用len()统计长度?
答:因为,len()是Python内置的函数:

  • 是提前写好的
  • 可以重复使用
  • 实现统计长度这一特定功能的代码段

我们使用过的:input()print()str()int()等都是Python的内置函数

让我们实际的体验一下函数的使用。

不使用内置函数len(),完成字符串长度的计算。

# 需求,统计字符串的长度,不使用内置函数len()
str1 = "reaipaobudehengchuan"
str2 = "itcast"
str3 = "python"
# 定义一个计数的变量
count = 0
for i in str1:
    count += 1
print(f"字符串{str1}的长度是:{count}")
count = 0
for i in str2:
    count += 1
print(f"字符串{str2}的长度是:{count}")
count = 0
for i in str3:
    count += 1
print(f"字符串{str3}的长度是:{count}")

代码结果:

字符串reaipaobudehengchuan的长度是:20
字符串itcast的长度是:6
字符串python的长度是:6

可以使用函数,来优化这个过程

# 可以使用函数,来优化这个过程
def my_len(data)
    count = 0
    for i in data:
        count += 1
    print(f"字符串{data}的长度是:{count}")

my_len(str1)
my_len(str2)
my_len(str3)

代码结果:

字符串reaipaobudehengchuan的长度是:20
字符串itcast的长度是:6
字符串python的长度是:6

体验代码,会出现未学习到的语法,我们只需要关心效果即可,语法后面会详细讲解。

总结:

  1. 函数是:
    组织好的、可重复使用的、用来实现特定功能的代码段

  2. 使用函数的好处是:

  • 将功能封装在函数内,可供随时随地重复利用
  • 提高代码的复用性,减少重复代码,提高开发效率

2. 函数的定义

函数的定义:
在这里插入图片描述
函数的调用:函数名(参数)
注意事项
① 参数如不需要,可以省略(后续章节讲解)
② 返回值如不需要,可以省略(后续章节讲解)
③ 函数必须先定义后使用
总结:

  1. 函数的定义语法

在这里插入图片描述

  1. 函数使用步骤:
  • 先定义函数
  • 后调用函数
  1. 注意事项:
  • 参数不需要,可以省略
  • 返回值不需要,可以省略

练习案例:自动查核酸
定义一个函数,函数名任意,要求调用函数后可以输出如下欢迎语:

请出示您的健康码以及72小时核酸证明!

# 定义函数
def check():
    # 编写函数体输出信息
    print("请出示您的健康码以及72小时核酸证明!")

# 调用函数
check()

打印结果:
在这里插入图片描述

3. 函数的参数

3.1 函数的传入参数

传入参数的功能是:在函数进行计算的时候,接受外部(调用时)提供的数据
有如下代码,完成了2个数字相加的功能:
在这里插入图片描述
函数的功能非常局限,只能计算1 + 2。
有没有可能实现:每一次使用函数,去计算用户指定的2个数字,而非每次都是1 + 2呢?
可以的,使用函数的传入参数功能,即可实现。

3.2 函数的传入参数 - 传参定义

基于函数的定义语法:
在这里插入图片描述
可以有如下函数定义:

def add(x, y,):
    result = x + y 
    print(f"{x} + {y}的计算结果是:{result}")

实现了,每次计算的是x + y,而非固定的1 + 2
x + y的值,可以在调用函数的时候指定。

3.3 函数的传入参数 - 语法解析

在这里插入图片描述

  • 函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数
    • 参数之间使用逗号进行分隔
  • 函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数值
    • 传入的时候,按照顺序传入数据,使用逗号分隔

传入参数的数量是不受限制的。

  • 可以不使用参数
  • 也可以仅使用任意N个参数

总结:

  1. 函数的传入参数的作用是?
    在函数运行的时候,接受外部传入的数据

  2. 使用方式

  3. 注意事项

  • 函数定义中的参数,称之为形式参数
  • 函数调用中的参数,称之为实际参数
  • 函数的参数数量不限,使用逗号分隔开
  • 传入参数的时候,要和形式参数一一对应,逗号隔开

练习案例:升级版自动查核酸
定义一个函数,名称任意,并接受一个参数传入(数字类型,表示体温)
在函数内进行体温判断(正常范围:小于等于37.5度),并输出如下内容:

  1. 请出示您的健康码以及72小时核酸证明,并配合测量体温!
    体温测量中,您的体温是:37.1度,体温正常请进!
  2. 请出示您的健康码以及72小时核酸证明,并配合测量体温!
    体温测量中,您的体温是:39.3度,需要隔离!

代码演示:

# 定义函数,接收1个形式参数,数字类型,表示体温
def check(num):
    # 在函数体内进行判断体温
    print("请出示您的健康码以及72小时核酸证明,并配合测量体温!")
    if num <= 37.5:
        print(f"体温测量中,您的体温是:{num}度,体温正常请进!")
    else:
        print(f"体温测量中,您的体温是:{num}度,需要隔离!")

# 调用函数,传入实际参数
check(37.6)

运行结果:
在这里插入图片描述

4. 函数的返回值

程序中的返回值:
在这里插入图片描述
如图代码
定义两数相加的函数功能。完成功能后,会将相加的结果返回给函数调用者
所以,变量r接收到了函数的执行结果。

综上所述:
所谓“返回值”,就是程序中函数完成事情后,最后给调用者的结果
返回值的语法格式
在这里插入图片描述
如图,变量就能接收到函数的返回值
语法就是:通过return关键字,就能向调用者返回数据
练习:定义一个函数,完成两数相加的功能,并返回结果

# 定义一个函数,完成2数相加功能
def add(a, b):
    result = a + b
    # 通过返回值,将相加的结果返回给调用者
    return result
    # 返回结果后,还想输出一句话
    print("我完事了")


# 函数的返回值,可以通过变量去接收
r = add(5, 6)
print(r)

总结:

  1. 什么是函数返回值?
    函数在执行完成后,返回给调用者的结果
  2. 返回值的应用语法:
    在这里插入图片描述

使用关键字:return 来返回结果
4. 注意:
函数体在遇到return后就结束了,所以写在return后的代码不会执行。

好了关于【Python入门篇】——Python函数(函数介绍,函数的定义,函数的参数和函数的返回值),七七今天就先分享到这里,如果这篇文章对大家有帮助,请佬佬们点个赞再走吧!如果发现什么问题,欢迎评论区留言!💕💕

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

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

相关文章

都2023年了,网络安全还能入门吗?

前言 随着互联网的发展&#xff0c;网络安全逐渐成为重要领域之一。由于网络攻击已成为全球规模的问题&#xff0c;这使得网络安全专业成为各企业的重中之重。在这篇文章中&#xff0c;我们将从网络安全的发展趋势、就业前景和薪资水平方面入手&#xff0c;分析网络安全入门的…

【集群】部署LVS-DR群集

文章目录 一、LVS-DR工作原理1. 数据包流向分析2. DR模式的特点3. ARP 解析问题3.1 问题1&#xff1a;ip地址冲突3.2 问题2&#xff1a;真实服务器的第二次ARP请求3.3 解决ARP的两个问题的设置方法 二、LVS-DR部署过程1. 配置环境2. 部署服务器2.1 环境配置2.2 LVS-DR调度器2.2…

【基础知识】一文看懂深度优先算法和广度优先算法

概览 先上个图 现在我们要访问图中的每个节点&#xff0c;即图的遍历。 图的遍历是指&#xff0c;从给定图中任意指定的顶点&#xff08;称为初始点&#xff09;出发&#xff0c;按照某种搜索方法沿着图的边访问图中的所有顶点&#xff0c;使每个顶点仅被访问一次&#xff…

三、django-vue-admin开源项目二次开发——后端快速实现curd及接口

上一章&#xff1a; 二、django-vue-admin开源项目二次开发——修改默认菜单_做测试的喵酱的博客-CSDN博客 下一章&#xff1a; 一、背景 我想实现接口自动化用例的管理功能。一共涉及到两张表&#xff0c;一张项目表&#xff0c;是所有的项目列表。 一张是case列表&#…

Postgresql关于JSON、JSONB的操作符、处理函数(持续更新)

一、postgresql实用函数 &#xff08;只列举本次用到的函数&#xff0c;其他函数在文章后面有详解&#xff09; 1.1、将jsonb格式的数组中的值展开/分解成单独的数据/对象&#xff1f; SELECT answer_id, jsonb_array_elements(option_ids)::INTEGER AS option_id FROM db_l…

Java HashMap初始化大小设置多少合适

修改公司老代码的时候&#xff0c;发现阿里编码规约插件提示HashMap初始化时尽量指定初始值大小&#xff0c;因为设置合理的初始值可以提升性能&#xff1a; HashMap继承自AbstractMap类&#xff0c;实现了Map、Cloneable、java.io.Serializable接口&#xff0c;是基于散列表实…

Prompt 工程指南(三)—— 高级技术篇之零样本和少样本提示

到目前为止&#xff0c;显而易见的是&#xff0c;改进提示有助于在不同任务上获得更好的结果。这就是提示工程背后的理念和目标。 虽然上篇教程介绍的基本示例已经很有趣&#xff0c;但在接下来的几篇教程中&#xff0c;我们将介绍更高级的 Prompt 提示工程技巧&#xff0c;使…

LabVIEW编程开发PCB测试仪

LabVIEW编程开发PCB测试仪 使用PXI和LabVIEW的PCB钉床测试仪 用于PCB&#xff08;印刷电路板&#xff09;的钉床测试仪&#xff0c;使用PXI和LabVIEW。一家电子制造公司需要测试仪来测试他们的PCB产品。钉床测试仪是一种具有连接到电路板上各个测试点的引脚的测试。电路板需要…

【大数据学习篇12】在linux上安装jupyter

下面介绍在liunx怎么安装jupyter&#xff0c;一步到位介绍。 1、安装Anaconda3 1.1 自己选择一个位置下载 wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh1.2 进入自己的安装目录&#xff0c;安装anaconda bash Anaconda3-5.2.0-Linux-x86_64.sh一…

小程序模板语法样式与页面配置

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 小程序 也可获取。 文章目录 小程序模板与配置WXML 模板语法数据绑定事件绑定小程序中常用的事件事件对象的属性列表target 和 currentTarget 的…

spark入门 高可用部署HA(五)

一、standalone基于修改部署 https://blog.csdn.net/weixin_43205308/article/details/131070277?spm1001.2014.3001.5501 二、安装ZOOKEEPER zookeeper 安装下载与集群 三、修改conf下的spark-env.sh vim conf/spark-env.sh注释以下内容&#xff08;根据自己环境修改&am…

备战金九银十:大厂面试官必问MySQL连环炮全梳理,你扛得住嘛?

最近后台好多小伙伴发私信咨询阿Q&#xff0c;问马上就是金九银十的面试黄金期了&#xff0c;该如何在三个月内突击一下&#xff0c;以便更好地通过面试呢&#xff1f; 阿Q的想法就是需要对自己掌握的知识进行归纳整理&#xff0c;系统的、分类的去复习相关的知识点。这样也能…

公司新来了个00后测开,上来一顿操作给我秀麻了.....

开年公司新来了个同事&#xff0c;听说大学是学的广告专业&#xff0c;因为喜欢IT行业就找了个培训班&#xff0c;后来在一家小公司实习半年&#xff0c;现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍&#xff0c;服务器缩减一半&#xff0c;性能反而提升4倍!给公司…

提升效率:P4VFS让虚拟文件同步更迅速、更简单

虚拟文件同步&#xff08;Virtual File Sync&#xff09;是一个备受期待的功能集&#xff0c;能够显著缩短Perforce Helix Core用户的同步时间。本篇文件将解释什么是虚拟文件同步&#xff0c;如何设置它以及如何使用它。 什么是虚拟文件同步&#xff1f; 虚拟文件同步是一项…

配置Wildfly的JDBC驱动程序

1、环境 windows10、Wildfly26.1.3、JDK8.0、mysql8.0 2、配置方式 配置Wildfly的JDBC驱动一般有两种方式 1️⃣、以module的方式安装&#xff1b; 2️⃣、以应用deploy的程序包方式安装&#xff1b; 以module方式安装&#xff0c;是把驱动置于应用服务器中&#xff1b;以…

Ubuntu 20.04 Apache2 增加不同端口站点

概述 Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的网页服务器软件&#xff0c;可以在大多数电脑操作系统中运行。由于其跨平台和安全性[注 1]&#xff0c;被广泛使用&#xff0c;是最流行的Web服务器软件之一。它快速、可靠并且可…

ROS:move_base路径规划介绍、更换全局路径规划算法(A star、Dijkstra、DWA,测试当前是哪种算法,效果展示图)

前提&#xff1a;需要安装navigation包&#xff0c;才可以运行move_base。 一.move_base路径规划包内容 二.更换全局路径规划算法&#xff08;A*、Dijkstra、DWA&#xff09; A*、Dijkstra属于全局路径规划、DWA属于局部路径规划。 1、move_base.launch move_base.launch文…

开源 AI 面临的挑战

译者&#xff1a;明明如月 人工智能的代价 尽管我坚信开源人工智能将继续蓬勃发展&#xff0c;但我也认为未来几年企业和政府将越来越有动机限制对新型神经网络架构和技术的应用。本文旨在预测并概述可能在本十年发生的潜在颠覆性变革&#xff0c;并提出一些想法和解决方案&a…

玩转css逐帧动画,努力成为更优质的Ikun~

&#x1f389; 一、前言 css3的animation想必大家都知道吧&#xff0c;那 steps 逐帧动画你知道吗&#xff1f;对于我来说&#xff0c;实际工作及练习中也很少用到这种跳跃式变化的动画&#xff0c;而它start和end的解释又比较“不说人话”&#xff0c;以前用到steps动画的时候…

FL Studio21水果软件各个版本功能区别对比

作为音乐人&#xff0c;在电脑上进行编曲&#xff0c;混音&#xff0c;合成是家常便饭&#xff0c;而市面上大家常用的音乐编曲制作软件很多&#xff0c;小编在这里就给大家做一个推荐。 大家常听到的音乐编曲制作软件大多是Cubase、Nuendo、Pro Tools、 SONAR等等&#xff0c…