【python入门篇】函数(6)

      这一节将详细介绍Python中函数的用法,包括函数的定义、调用、参数、返回值、作用域等。

函数的概述:

      Python函数是一种封装了特定任务的可重用代码块。通过将程序分解为更小、更具体的任务,函数提供了一种有效的方式来组织和管理代码,具有很大的灵活性和定制性,可以接受任意数量的参数,并可以有默认值。通过使用函数可以提高代码的可读性、可维护性和可测试性,同时还提供了代码重用的能力。

一、环境配置

我这边python的环境是3.7.8版本的,官方下载路径如下:

1.python 3.7.8  

可直接进入官网下载安装:Download Python | Python.org

2.编译器选择的是spyder,可以通过pip接口进行安装:

 
pip install wheel
 
 
pip install PyQt5
 
 
pip install spyder

二、函数的定义及调用

1.在Python中,我们可以使用关键字“def”来定义一个函数,通过函数名和参数列表来唯一标识一个函数:

语法:

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

实例1:

def hello():
    print('hello python!')
    print('hello friend!')

上面实例的括号内没有添加参数,是可以的,不过在大型的项目中都会用包含一些参数。

想要调用函数,只需使用函数名和相应的参数调用即可,我们来尝试下调用上述函数实例:

通过hello()直接运行该函数,输出如下

实例2:

def sum(a,b):
    print(a+b)

上面的实例括号内有a、b两个参数,我们尝试传参调用函数输出。

使用sum(3,4),传入参数运行如下

三、函数的返回值

函数的返回值是函数执行完成后,系统根据函数的具体定义返回给外部调用者的值,在Python语言中,当函数运行到return语句时即执行完毕,同时将结果返回。因此,可以在函数内部通过条件判断和循环设置实现较复杂的逻辑,并返回预期的结果。如果没有return语句,函数体内所有语句执行完毕后默认返回None。

实例:

def sum(a,b):
    print(a+b)
    return a+b

输出:

如上所述,传入参数后,(return a+b)返回a+b的值。

四、内置函数

Python语言中自带的函数叫做内建函数,这些内建函数对大部分常用操作进行有效封装,可以直接调用,为开发提供了极大便利。由于内建函数是Python语言内置的函数,因此不需要导入任何函数库即可直接调用,常用的内建函数如图所示:

我们通过实例来看一下:

1.abs():返回一个数的绝对值

abs(100)

abs(-100)

abs('100')

输出:

如上所述,我们通过给abs()传入参数,返回这个数的绝对值,要注意abs() 必传且只能传入一个参数,这个参数必须是一个数字。

2.max():取传入的多个参数中的最大值

max(1,2,3,4,5)


max('123456')


max([12,56,98,102])

输出:

在后面的项目中会用到很多内置函数,内建函数功能强大,理解并熟练掌握能较大提升开发效率。

五、匿名函数

所谓匿名函数,即不再使用def语句这样标准形式定义的函数。Python语言经常使用lambda来创建匿名函数。lambda 只是一个表达式,函数体比def定义的函数体要简捷。lambda函数的语法如下所示:

语法:

lambda [arg1[,arg2],....argn]]:expression

实例:

print((lambda x, y, z: x + y + z)(1, 2, 3))

输出:

六、总结

本节知识就到这里啦,大家多动手去试一试吧,谢谢!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java系列之 String indexOf() 方法

我 | 在这里 🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师) 🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 🏷️ 标签 | 男 自律狂人 目标明确 责任心强 ✈️公…

App Inventor 2 数字转文本

App Inventor 2 是弱语言类型,文本和数字之间不用刻意去转换,之间赋值就可以了。 案例:数字转文本 App Inventor 2 是弱语言类型,同理数字也能直接赋值给文本变量: 更多请参考:App Inventor 2 文本代码块…

【EI会议征稿】第三届电子信息技术国际学术会议(EIT 2024)

The 3rd International Conference on Electronic Information Technology 第三届电子信息技术国际学术会议(EIT 2024) 电子信息工程在我国信息化产业的发展过程中举足轻重,且随着现代社会的发展,航空航天领域、制造业领域和智能…

Ubuntu 设置Nginx开机自启

1.建立自启动服务文件 vim /usr/lib/systemd/system/nginx.service Descriptionnginx - high performance web server Afternetwork.target remote-fs.target nss-lookup.target [Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx…

HTML5+ API 爬坑记录

背景: 有个比较早些使用5开发的项目, 最近两天反馈了一些问题, 解决过程在此记录; 坑1: plus.gallery.pick 选择图片没有进入回调 HTML5 API Reference 在 联想小新 平板电脑上选择相册图片进行上传时, 打开相册瞬间 应用会自动重启, 相册倒是有打开, 不过应用重启了, 导…

C语言算术转换例题

这里写目录标题 例题一题目解析答案 例题二题目解析答案 例题三题目解析答案 例题四方法一解析方法二解析 例题五答案方法一方法二解析 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 🥸&#…

算法笔记:OPTICS 聚类

1 基本介绍 OPTICS(Ordering points to identify the clustering structure)是一基于密度的聚类算法 OPTICS算法是DBSCAN的改进版本 在DBCSAN算法中需要输入两个参数: ϵ 和 MinPts ,选择不同的参数会导致最终聚类的结果千差万别,因此DBCSAN…

ONNX实践系列-修改yolov5-seg的proto分支输出shape

一、目标 本文主要介绍要将原始yolov5分割的输出掩膜从[b,c,h,.w]修改为[b, h, w, c] 原来的: 目标的: 代码如下: Descripttion: version: @Company: WT-XM Author: yang jinyi Date: 2023-09-08 11:26:28 LastEditors: yang jinyi LastEditTime: 2023-09-08 11:48:01 …

手动实现 git 的 git diff 功能

这是 git diff 后的效果,感觉挺简单的,不就是 比较新旧版本,新增了就用 "" 显示新加一行,删除了就用 "-" 显示删除一行,修改了一行就用 "-"、"" 显示将旧版本中的该行干掉了并…

线上PDF文件展示

场景: 请求到的PDF(url链接),将其展示在页面上 插件: pdfobject (我使用的版本: "pdfobject": "^2.2.12" ) 下载插件就不多说了,下面将其引入&a…

线上ES集群参数配置引起的业务异常案例分析

本文介绍了一次排查Elasticsearch node_concurrent_recoveries 引发的性能问题的过程。 一、故障描述 1.1 故障现象 1. 业务反馈 业务部分读请求抛出请求超时的错误。 2. 故障定位信息获取 故障开始时间 19:30左右开始 故障抛出异常日志 错误日志抛出timeout错误。 故障之前…

大数据 DataX-Web 详细安装教程

目录 一、DataX-Web 介绍 1.1 DataX-Web 是什么 1.2 DataX-Web 架构 二、DataX-Web 安装部署 2.1 环境要求 2.2 安装 2.3 部署 2.4 数据库初始化 2.5 配置 2.6 启动服务 2.6.1 一键启动所有服务 2.6.2 一键取消所有服务 2.7 查看服务(注意&#xff01…

2024深圳电子展,加快粤港澳电子信息发展,重点打造“湾区经济”

在“十四五”期间,中国电子信息产业面临着新形势和新特点。随着国家对5G、人工智能、工业互联网、物联网等“新基建”的加速推进,以及形成“双循环”新格局的形势,新型显示、集成电路等产业正在加速向国内转移。这一过程不仅带来了新的应用前…

HTTP协议抓包工具Charles 抓包图文完整教程

Charles是在您自己的计算机上运行的Web代理(HTTP代理 / HTTP监视器),您的网络浏览器(或任何其他Internet应用程序)配置为通过Charles访问Internet,Charles可以为您记录并显示发送和接收的所有数据。 Http抓…

盘点43个Python登录第三方源码Python爱好者不容错过

盘点43个Python登录第三方源码Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 项目名称 bnuz中国电信校园网模拟登录,python selenium BNUZ教务系统认证爬虫Python语言实现,你可以用…

UNETR++:深入研究高效和准确的3D医学图像分割

论文:https://arxiv.org/abs/2212.04497 代码:GitHub - Amshaker/unetr_plus_plus: UNETR: Delving into Efficient and Accurate 3D Medical Image Segmentation 机构:Mohamed Bin Zayed University of Artificial Intelligence1, Univers…

工业级5G路由器:稳定性更高,网络速度更快!

随着5G技术的发展,5G路由器也越来越受到人们的关注。特别是工业级5G路由器,它的应用范围更广,稳定性更高,网络速度更快,已成为许多企业和工业领域的必备选择。 一、工业级5G路由器的特点 工业级5G路由器具有很多独特的…

社区物联网云服务架构设计

文章目录 1 摘要2 架构图2.1 社区物联网云服务网络拓扑图2.2 社区物联网云服务通讯流程图2.3 社区远程开锁功能流程图 3 应用场景 1 摘要 随着社区管理越来越智能化,社区物联网升级与改造的市场空间也越来越大。社区物联网包含楼宇对讲、门禁门锁、通道闸等等设备系…

Vue3(setup)中使用vue-cropper图片上传裁剪插件,复制代码直接使用

最近在项目中用到上传裁剪,看了一下代码,觉得这插件可可以。梳理了一下代码分享给大家 前端UI组件element-plus 如果你也用到了 ,快速帮你解决了问题,别忘记点赞收藏 1.首先看效果图 因为版本vue-cropper 众多 ,虽然网上有各…