【python入门篇】函数(6)

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

函数的概述:

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

一、环境配置

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

1.python 3.7.8  

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

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

 
pip install wheelpip install PyQt5pip 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))

输出:

六、总结

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

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

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

相关文章

保姆级连接FusionInsight MRS kerberos Hive

数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文将介绍在华为云 FusionInsight MRS(Managed Relational Service)的Kerberos环境中,如何使用Java和DBeaver实现远…

threejs创建一个旋转的正方体【完整代码】

效果: 中文网three.js docs 1.搭建环境 安装three 首先我们需要新建一个项目 vue/react都可 这里以vue为演示 npm i three 找到一个新的页面 在页面script的地方导入three import * as THREE from "three" 或者自己逐个导入 import {PerspectiveC…

京东采销面对面,洞悉行业新趋势 京东3C数码生态大会在武汉圆满举行

为促进湖北省3C数码产业发展,本地企业降本增效、促进行业交流、充分发挥京东集团全链路生态服务能力,支持地方3C特色产业提质增量。2023年11月23日,由京东零售、京东物流主办,湖北省电子商务行业协会联合协办的“聚力共赢、携手共…

【Kotlin精简】第9章 Kotlin Flow

1 前言 上一章节我们学习了Kotlin的协程【Kotlin精简】第8章 协程,我们知道 协程实质是对线程切换的封装,能更加安全实现异步代码同步化,本质上协程、线程都是服务于并发场景下,其中协程是协作式任务,线程是抢占式任务…

保姆级 ARM64 CPU架构下安装部署Docker + rancher + K8S 说明文档

1 K8S 简介 K8S是Kubernetes的简称,是一个开源的容器编排平台,用于自动部署、扩展和管理“容器化(containerized)应用程序”的系统。它可以跨多个主机聚集在一起,控制和自动化应用的部署与更新。 K8S 架构 Kubernete…

从Redis反序列化UserDetails对象异常后中发现FastJson序列化的一些问题

最近在使用SpringSecurityJWT实现认证授权的时候,出现Redis在反序列化userDetails的异常。通过实践发现,使用不同的序列化方法和不同的fastJson版本,异常信息各不相同。所以特地记录了下来。 一、项目代码 先来看看我项目中redis相关配置信息…

视频号小店常见问题分享,让你少走弯路,少花冤枉钱!

我是电商珠珠 视频号团队自22年7月,就开始发展起了自己的电商平台-视频号小店。 关于视频号小店有很多人可能还不太了解,尤其是对于新手来说,并不知道是干什么的。 我踏足电商这个领域也已经五六年了,视频号小店也做了一年多了…

SpringBoot集成MapStruct

引入mapstruct依赖 <dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${org.mapstruct.version}</version> </dependency>配置maven-compiler-plugin <build><plugins>&…

VMware Workstation 17 虚拟机自启动失效 解决脚本

VMware Workstation17新增加了虚拟机自启配置 但是很奇怪在我的一台计算机上能够自启&#xff0c;在另一台计算机上就失效 编写脚本 以命令方式完成虚拟机开机自启 #虚拟机自启.batif "%1""hide" goto CmdBegin start mshta vbscript:createobject("w…

缓存组件状态,提升用户体验:探索 keep-alive 的神奇世界

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Day31| Leetcode 455. 分发饼干 Leetcode 376. 摆动序列 Leetcode 53. 最大子数组和

进入贪心了&#xff0c;我觉得本专题是最烧脑的专题 Leetcode 455. 分发饼干 题目链接 455 分发饼干 让大的饼干去满足需求量大的孩子即是本题的思路&#xff1a; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {…

仿ChatGPT对话前端页面(内含源码)

仿ChatGPT对话前端页面&#xff08;内含源码&#xff09; 前言布局样式和Js部分关键点全部源码 前言 本文主要讲解如何做出类似ChatGPT的前端页面。具体我们的效果图是长这样&#xff0c;其中除了时间是动态的之外&#xff0c;其他都是假数据。接下来让我们从布局和样式的角度…

Android Tombstone 与Debuggerd 原理浅谈

一、前言 Android系统类问题主要有stability、performance、power、security。Android集成一个守护进程tombstoned是android平台的一个守护进程&#xff0c;它注册成3个socket服务端&#xff0c;客户端封装在crash_dump和debuggerd_client。 crash_dump用于跟踪定位C crash&am…

前端入门(三)Vue生命周期、组件技术、事件总线、

文章目录 Vue生命周期Vue 组件化编程 - .vue文件非单文件组件组件的注意点组件嵌套Vue实例对象和VueComponent实例对象Js对象原型与原型链Vue与VueComponent的重要内置关系 应用单文件组件构建 Vue脚手架 - vue.cli项目文件结构refpropsmixin插件scoped样式 Vue生命周期 1、bef…

MBA-论证有效性分析

论证有效性分析∶分析下述论证中存在的缺陷和漏洞&#xff0c;选择若干要点&#xff0c;写一篇 600 字左石的文章.对该论证的有效性进行分析和评论。&#xff08;论证有效性分析的一般要点是∶概念特别是核心概念的界定和使用是否准确并前后一致&#xff0c;有无各种明显的逻辑…

cineSync 3.3新功能: 深入iconik集成、激光工具、OTIOZ支持等

cineSync 3.3为大家带来了灵活性和精准度&#xff0c;使连接审阅会话与iconik中的媒体管理和存储更加容易&#xff0c;并且引入了颜色配置文件以快速测试颜色配置&#xff0c;还有通过激光指针等新工具带来新的可能性。 在ftrack&#xff0c;我们意识到当今的远程创意工作流比以…

vue3 导出数据为 excel 文件

文章目录 安装插件封装组件 -- Export2Excel.js多表封装界面使用 -- 数据处理成二维数组更多 菜鸟最近做了一个需求&#xff0c;就是需要上传表单并识别&#xff0c;然后识别出来的内容要可以修改&#xff0c;然后想的就是识别内容变成 form 表单&#xff0c;所以并没有使用 Sp…

反爬虫机制与反爬虫技术(二)

反爬虫机制与反爬虫技术二 1、动态页面处理与验证码识别概述2、反爬虫案例:页面登录与滑块验证码处理2.1、用例简介2.2、库(模块)简介2.3、网页分析2.4、Selenium准备操作2.5、页面登录2.6、模糊移动滑块测试3、滑块验证码处理:精确移动滑块3.1、精确移动滑块的原理3.2、滑…

【模块补充】importlib

importlib 【一】介绍 importlib 模块是 Python 中用于动态加载和导入模块的内置模块。它提供了一组函数和类&#xff0c;使得我们可以在运行时根据需要加载模块&#xff0c;并且可以对已导入的模块进行操作和管理。 【二】详解及示例&#xff1a; 【1】动态加载模块&#…

PyQt6简介

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计12条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…