python(15)--函数设计
前言
函数是可重用的程序代码块。
函数的作用,不仅可以实现代码的复用,还可以保证修改函数的代码时,所有调用该函数的地方都能得到体现。目前我已知函数的作用是:对代码实现了封装、函数调用、传递参数、返回计算结果等。
正文
1.函数的分类
Python 中函数分为如下几类:
1.内置函数,abs(),bin(),chr()等这些都是内置函数,具体有哪些内置函数请参考:Python(1)变量的命名规则_码银的博客-CSDN博客。
2.标准库函数,我们可以通过 import 语句导入库,import turtle。
3.第三方库函数,Python 社区也提供了很多高质量的库。下载安装这些库后,也是通过 import 语句导入,然后可以使用这些第三方库的函数
4.用户自定义函数,用户自己定义的函数,也就是开发中适应用户自身需求定义的函数。
本篇文章所说的主要内容就是如何自定义函数,其他种类函数都是准备好的,知识体系庞大的,仅靠一篇文章我也说不了。
2.函数的定义和调用
2.1 格式和要点
格式:
def 函数名 (【参数列表】):
程序代码区域
return[返回值]
要点:
(1)Python 执行 def 时,会创建一个函数对象,并绑定到函数名变量上。
(2)园括号内是形式参数列表,有多个参数则使用逗号隔开
(3)形式参数不需要声明类型,也不需要指定函数返回值类型
(4)无参数,也必须保留空的圆括号
(5)实参列表必须与形参列表一一对应
(6)如果函数体中包含 return 语句,则结束函数执行并返回值
(7)如果函数体中不包含 return 语句,则返回 None 值。
2.2 形参和实参
def qiuMax(a,b):'''这里是函数的注释部分if,尽量说点有用的,我就先不说了'''if a>b:print("两数字比较,最大值为:",a)else:print("两数字比较,最大值为:",b)
a=input("a=")
b=input("b=")
qiuMax(a,b)

上面的 qiuMax 函数中,在定义时写的 qiuMax ( a , b )。 a 和 b 称为"形式参数",简称"形参"。也就是说,形式参数是在定义函数时使用的。形式参数的命名只要符合"标识符"命名规则即可。
在调用函数时,传递的参数称为"实际参数",简称"实参"。上面代码中, qiuMax (a,b),通过input()函数输入的a,b就是实际参数。
2.3返回值
return 返回值要点:
1.如果函数体中不包含 return 语句,则返回 None 值。
2.如果函数体中包含 return 语句,则结束函数执行并返回值;
3.要返回多个返回值,使用列表、元组、字典、集合来操作。
a.返回none
def good(name):'''zhushi'''print(name,"是最棒的!")
fanhui=good("胡沙彼")
print(fanhui)
print(type(fanhui))

结果显示没有返回值。
b.单一返回值
def jianfa(a,b):'''这里是函数的注释部分'''ret=a-breturn ret
w=jianfa(1,2)
print(w)

结果显示返回值是-1 。
c.返回多个数据
def jianfa(a,b):'''这里是函数的注释部分'''ret1 = a + bret2 = a - bret3 = a * bret4 = a / breturn ret1,ret2,ret3,ret4
w,x,y,z=jianfa(10,20)
print("这是四个返回值:\n%s\n%s\n%s\n%s" % (w,x,y,z))

相关文章:
python(15)--函数设计
前言 函数是可重用的程序代码块。 函数的作用,不仅可以实现代码的复用,还可以保证修改函数的代码时,所有调用该函数的地方都能得到体现。目前我已知函数的作用是:对代码实现了封装、函数调用、传递参数、返回计算结果等。 正文 …...
手把手教你用Python做可视化数据,还能调节动画丝滑度
数据可视化动画还在用Excel做? 现在一个简单的Python包就能分分钟搞定! 而且生成的动画也足够丝滑,效果是酱紫的: 这是一位专攻Python语言的程序员开发的安装包,名叫Pynimate。 目前可以直接通过PyPI安装使用。 使用…...
湖南中创教育PMP项目管理——变更管理
【变更管理】包括 一、如何理解需求变更 二、如何控制需求变更 三、项目变更管理流程 四、如何应对“奇葩”变更 一、如何理解需求变更: 1、项目中发生变更是正常现象,变更无法回避 2、哪里都可能出现变更,任何人都有权提出变更 3、…...
IC真题 —— 刷题记录(1)
引言 记录一些 我自己刷的 IC行业招聘真题,不是每题记录,只记录一些值得记录的,写下自己的看法。主要是一些数字IC行业题目,偏前端。 1、有一个逐次逼近型 8位A/D 转换器,若时钟频率为250KHz,完成一次转换…...
【C++入门】命名空间,输出输入,缺省参数,函数重载
文章目录命名空间C输入与输出缺省参数函数重载命名空间 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标 识符的名称进行本地化࿰…...
cmu 445 poject 2笔记
2022年的任务 https://15445.courses.cs.cmu.edu/fall2022/project2/ checkpoint 1,实现b树,读,写,删 checkpoint 2, 实现b树,迭代器,并发读写删 本文不写代码,只记录遇到的一些思维盲点 checkp…...
梅开二度的 axios 源码阅读,三千字详细分享功能函数,帮助扩展开发思维
前言 第一遍看 axios 源码,更多的是带着日常开发的习惯,时不时产生出点联想。 第二遍再看 axios 源码,目标明确,就是奔着函数来的。 当有了明确清晰的目标,阅读速度上来了,思绪也转的飞快。 按图索骥&a…...
vcs仿真教程
VCS是在linux下面用来进行仿真看波形的工具,类似于windows下面的modelsim以及questasim等工具,以及quartus、vivado仿真的操作。 1.vcs的基本指令 vcs的常见指令后缀 sim常见指令 2.使用vcs的实例 采用的是全加器的官方教程,首先介绍不使用…...
java 自定义json解析注解 复杂json解析 工具类
java 自定义json解析注解 复杂json解析 工具类 目录java 自定义json解析注解 复杂json解析 工具类1.背景2、需求-各式各样的json一、一星难度json【json对象中不分层】二、二星难度json【json对象中出现层级】三、三星难度json【json对象中存在数组】四、四星难度json【json对象…...
类的 6 个默认成员函数
文章目录一、构造函数1. 构造函数的定义2. 编译器生成的构造函数3. 默认构造函数4. 初始化列表5. 内置成员变量指定缺省值(C11)二、析构函数1. 析构函数的定义2. 编译器生成的析构函数3. 自己写的析构函数的执行方式三、拷贝构造函数1. C语言值传递和返回值时存在 bug2. 拷贝构…...
基于Verilog HDL的状态机描述方法
⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。 🔥文章和代码已归档至【Github仓库…...
6年软件测试经历:成长、迷茫、奋斗
前言 测试工作6年,经历过不同产品、共事过不同专业背景、能力的同事,踩过测试各种坑、遇到过各种bug。测试职场生涯积极努力上进业务和技术能力快速进步过、也有努力付出却一无所得过、有对测试生涯前景充满希望认为一片朝气蓬勃过、也有对中年危机思考不…...
OpenMMLab AI实战营第五次课程
语义分割与MMSegmentation 什么是语义分割 任务: 将图像按照物体的类别分割成不同的区域 等价于: 对每个像素进行分类 应用:无人驾驶汽车 自动驾驶车辆,会将行人,其他车辆,行车道,人行道、交…...
【软考】系统集成项目管理工程师(二十)项目风险管理
一、项目风险管理概述1. 风险概念2. 风险分类3. 风险成本二、项目风险管理子过程1. 规划风险管理2. 识别风险3. 实施定性风险分析4. 实施定量风险分析5. 规划风险应对6. 控制风险三、项目风险管理流程梳理一、项目风险管理概述 1. 风险概念 风险是一种不确定事件或条件,一旦…...
2017-PMLR-Neural Message Passing for Quantum Chemistry
2017-PMLR-Neural Message Passing for Quantum Chemistry Paper: https://arxiv.org/pdf/1704.01212.pdf Code: https://github.com/brain-research/mpnn 量子化学的神经信息传递 这篇文献作者主要是总结了先前神经网络模型的共性,提出了一种消息传递神经网络&am…...
Python:每日一题之全球变暖(DFS连通性判断)
题目描述 你有一张某海域 NxN 像素的照片,"."表示海洋、"#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿…...
企业级安全软件装机量可能大增
声明 本文是学习大中型政企机构网络安全建设发展趋势研究报告. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 研究背景 大中型政企机构是网络安全保护的重中之重,也是国内网络安全建设投入最大,应用新技术、新产品最多的机构…...
为什么要用频谱分析仪测量频谱?
频谱分析仪是研究电信号频谱结构的仪器,用于信号失真度、调制度、谱纯度、频率稳定度和交调失真等信号参数的测量,可用以测量放大器和滤波器等电路系统的某些参数,是一种多用途的电子测量仪器。从事通信工程的技术人员,在很多时候…...
Python环境搭建、Idea整合
1、学python先要下载什么? 2、python官网 3、idea配置Python 4、idea新建python 学python先要下载什么? python是一种语言,首先你需要下载python,有了python环境,你才可以在你的电脑上使用python。现在大多使用的是pyt…...
HTTP请求返回304状态码以及研究nginx中的304
文章目录1. 引出问题2. 分析问题3. 解决问题4. 研究nginx中的3044.1 启动服务4.2 ETag说明4.3 响应头Cache-Control1. 引出问题 之前在调试接口时,代码总出现304问题,如下所示: 2. 分析问题 HTTP 304: Not Modified是什么意思? …...
告别盲调:用eBPF uprobe给Go/Python应用函数调用画张“热力图”(附libbpfgo实战代码)
深度剖析eBPF uprobe技术:为Go/Python应用构建动态函数热力图 在云原生与微服务架构盛行的今天,后端服务的性能调优一直是开发者面临的挑战。传统性能分析工具往往需要重启服务或修改代码,这在生产环境中几乎不可行。而eBPF技术的出现&#x…...
瑞萨RA6E2评估板Keil MDK5开发全攻略:从RA Smart Configurator到烧录调试
瑞萨RA6E2评估板Keil MDK5开发全流程实战指南 对于嵌入式开发者而言,瑞萨RA6E2系列MCU凭借其高性能和丰富外设正成为工业控制、物联网终端设备的优选方案。而Keil MDK5作为Arm生态中最成熟的开发环境之一,与瑞萨官方工具链的深度整合为开发者提供了高效…...
手把手教你用两块STM32F103C8T6实现CAN总线点对点通信(附完整代码)
从零开始实现STM32F103C8T6双板CAN总线通信实战指南 在嵌入式开发领域,CAN总线因其高可靠性和实时性成为工业控制、汽车电子等场景的首选通信协议。对于初学者而言,使用两块STM32F103C8T6开发板搭建CAN通信系统是掌握该技术的经典入门项目。本文将彻底拆…...
程序员视角:五笔输入法98版为何更适合代码编写?
程序员视角:五笔输入法98版为何更适合代码编写? 在程序员的世界里,效率就是生命。从IDE的选择到快捷键的配置,每一个细节都可能影响编码的速度和质量。而作为中文开发者,输入法的选择往往被忽视——直到你发现自己在输…...
【开题答辩全过程】以 基于大数据的智能推送系统设计与实现为例,包含答辩的问题和答案
个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...
Unity Enter Play Mode Settings 搭配手动Reload全攻略:既保速度又保数据安全
Unity开发效率革命:Enter Play Mode Settings与智能Reload的黄金组合 在Unity项目开发的中后期,随着代码量膨胀和资源规模增长,每次按下Play按钮后的等待时间逐渐成为效率杀手。传统工作流中,脚本修改后的自动Reload机制像一把双刃…...
7个web.py代码重构技巧:如何快速优化Python Web应用代码结构
7个web.py代码重构技巧:如何快速优化Python Web应用代码结构 【免费下载链接】webpy web.py is a web framework for python that is as simple as it is powerful. 项目地址: https://gitcode.com/gh_mirrors/we/webpy web.py 是一个简单而强大的 Python W…...
Axure RP全版本界面本地化:从问题诊断到安全部署的完整指南
Axure RP全版本界面本地化:从问题诊断到安全部署的完整指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …...
如何突破极域电子教室限制?3个高效学习工具推荐
如何突破极域电子教室限制?3个高效学习工具推荐 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在数字化教学环境中,极域电子教室作为常见的教学管理软件&…...
避坑指南:STM32F411CEU6板载LED不亮的5个常见原因及解决方法
STM32F411CEU6板载LED故障排查实战手册 1. 硬件连接与基础检查 拿到一块STM32F411CEU6开发板(俗称Black Pill),第一件事往往就是测试板载LED。但当你满怀期待地烧录程序后,发现LED毫无反应时,别急着怀疑人生。让我们从…...
