Python 基础(八):函数

1 简介

简单来说函数就是一段实现特定功能的代码,使用函数可以提高代码的重复利用率。Python 中有很多内置函数,比如之前常用的 print 函数,当内置函数不足以满足我们的需求时,我们还可以自定义函数。

2 自定义函数

Python 使用 def 关键字来声明函数,格式如下所示:

def 函数名(参数):
函数体
return 返回值

如果要定义一个无任何功能的空函数,函数体只写 pass 即可。格式如下所示:

def 函数名():
pass

当我们不确定参数的个数时,可以使用不定长参数,在参数名前加 * 进行声明,格式如下所示:

def 函数名(*参数名):
函数体

我们还可以使用 lambda 定义匿名函数,格式如下所示:

lambda 参数 : 表达式

例子:

# 空函数
def my_empty():pass# 无返回值
def my_print(name):print('Hello', name)# 有返回值
def my_sum(x, y):s = x + yprint('s-->', s)return s# 不定长参数
def my_variable(*params):for p in params:print(p)# 匿名函数
my_sub = lambda x, y: x - y

3 函数调用

调用一个函数只需要知道函数名和参数即可。

my_empty()
my_print('Jhon')
result = my_sum(1, 2)
my_variable(1, 2, 3, 4, 5, 6)
print(my_sub(2, 1))

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

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

相关文章

JDK21和 Flowable 7.0.0

JDK21和 Flowable 7.0.0 一.Flowable二.项目搭建1.依赖包2.数据库3.资源文件1.YML配置文件2.Drools kbase3.Drools rule4.DMN 决策表5.BPMN 流文件 4.BPMN 流程图绘制插件5.测试代码1.启动类2.Flowable 配置3.Camel 配置1.Camel 配置2.Camel Router 定义 4.扩展类监听1.外部工作…

SOP-8 SOIC-8 SO-8封装区别

学习自记: SO8和SO-8封装是相同的,SOP8和SOP-8封装也是相同的。SO8封装与SOP8封装的尺寸稍有差异,但差别不大。在 PCB 板上,这两种封装之间没有区别。 SOP也是一种很常见的封装形式,始于70年代末期。SOP封装的应用范围…

docker compose安装gitlab

环境 查看GitLab镜像 docker search gitlab 拉取GitLab镜像 docker pull gitlab/gitlab-ce 准备gitlab-docker.yml文件 version: 3.1 services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: |external_url…

在Windows Server 2012中部署war项目

目录 一.安装jdk 二.安装tomcat 三.安装MySQL 四.部署项目 好啦今天就到这了,希望帮到你了哦 前言:具体步骤: 1.安装JDK: 2.安装tomcat: 3.安装MySQL: 4.部署项目: 一.安装jdk 将所需文件放…

苍穹外卖学习----出错记录

1.微信开发者工具遇到的问题: 1.1appid消失报错: {errMsg: login:fail 系统错误,错误码:41002,appid missing [20240112 16:44:02][undefined]} 1.2解决方式: appid可在微信开发者官网 登录账号后在开发栏 找到 复制后按以下步骤粘贴即…

2024.1.4力扣每日一题——被列覆盖的最多行数

2024.1.4 题目来源我的题解方法一 回溯位运算优化 题目来源 力扣每日一题;题序:2397 我的题解 方法一 回溯位运算优化 这道题一看就会想到使用回溯法,但是采用回溯法后如何判断有多少行被覆盖,直接计算矩阵时间复杂度较高&…

怎么将文件批量重命名为不同名称?

怎么将文件批量重命名为不同名称?有许多情况下可以考虑对文件进行批量重命名为不同名称,文件分类和整理:当您需要对一组文件进行分类、整理或重新组织时,可以考虑将它们批量重命名为不同的名称。这有助于更好地组织文件并使其更易…

提升测试多样性,揭秘Pytest插件pytest-randomly

大家可能知道在Pytest测试生态中,插件扮演着不可或缺的角色,为开发者提供了丰富的功能和工具。其中,pytest-randomly 插件以其能够引入随机性的特性而备受欢迎。本文将深入探讨 pytest-randomly 插件的应用,以及如何通过引入随机性…

在线项目实习分享:股票价格形态聚类与收益分析

01前置课程 数据挖掘基础数据探索数据预处理数据挖掘算法基础Python数据挖掘编程基础Matplotlib可视化Pyecharts绘图 02师傅带练 行业联动与轮动分析 通过分析申银万国行业交易指数的联动与轮动现象,获得有意义的行业轮动关联规则,并在此基础上设计量…

树莓派 gpio 安装及简单使用

安装 git clone https://github.com/WiringPi/WiringPi cd WiringPi/ ./build查看版本 gpio -v gpio version: 2.70列出io gpio readall-----------------------------Model B1-----------------------------| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name…

【NI-DAQmx入门】LabVIEW中DAQmx同步

1.同步解释 1.1 同步基础概念 触发器:触发器是控制采集的命令。您可以使用触发器来启动、停止或暂停采集。触发信号可以源自软件或硬件源。 时钟:时钟是用于对数据采集计时的周期性数字信号。根据具体情况,您可以使用时钟信号直接控制数据采…

并发编程(十一)

性能测试的常用命令 1、Netstat是在内核中访问网络连接状态及其相关信息的程序,它能够显示协议统计和当前TCP/IP的网络连接。 Netstat命令的常用格式如下: netstat -a:显示所有网络连接和侦听端口。 netstat -b:显示在创建网络…

基于SSM的驾校预约管理系统

基于SSM的驾校预约管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 详情 管理员界面 摘要 随着社会的不断发展,驾驶技能的需求逐渐增…

什么是 CAS

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

Pandas实战100例 | 案例 5: 数据过滤 - 使用条件过滤数据

案例 5: 数据过滤 - 使用条件过滤数据 知识点讲解 数据过滤是数据分析中的常见需求,它允许你基于一定条件从数据集中筛选出感兴趣的数据子集。 示例代码 基于单个条件过滤 # 筛选出某列值大于特定值的所有行 filtered_data df[df[Column] > 10] print(filt…

第一波!2024年1月精选6款实用AI人工智能设计工具合集

大家好,这是进入2024年之后的第一波干货合集!这次的干货合集还是以 AI 相关的设计干货开头,这次有了在本地无限制帮你清理图片中元素的 AI 工具,有知名免费图库出品的实时 AI 图片生成工具、将截图直接转化为代码的超强工具&#…

公司官网,选全站定制还是模板建站?

最近更新了公司网站,总算了了一件大事。 虽然很久以前也做网站,但随着技术的发展,以前经常用的dreamwaver、table等形式,不知道被升级了多少代。现在前端同事说起的各种架构,对我来说是云里雾里。只能看懂一点点。 这…

yolov5 7.0中文注释版train.py和detect.py

为了更好的学习,最近给yolov5 7.0版本的train和detect.py增加了中文注释,注释的部分内容如下,仅展示部分注释 detect.py的部分代码展示 # 版本说明:该版本是yolov5-7.0,由微智启软件工作室添加中文注释,给…

API设计:从基础到优秀实践

在这次深入探讨中,我们将深入了解API设计,从基础知识开始,逐步进阶到定义出色API的最佳实践。 作为开发者,你可能对许多这些概念很熟悉,但我将提供详细的解释,以加深你的理解。 API设计:电子商…

LESS mixin 生成类名 控制间距

LESS mixin 生成类名 控制间距 在 web 开发中,我们经常需要使用 padding 和 margin 样式来控制元素之间的间距和布局。如果手动为每个元素分别设置这些样式,会非常繁琐和冗余。为了更好地管理和维护样式,我们可以使用 LESS 的 mixin 功能生成…