python中的函数概念

一段可以被重复使用的代码。

关于函数的定义

def=define (定义)

def  函数名(形参列表):形参列表中,可以有多个形参,多个形参之间使用逗号分隔,

关于函数的调用

(开始完成任务)

先定义一个函数

如果只是定义一个函数,而不去调用,则函数体里面的代码就不会执行,

python中要求先定义函数,再调用函数,

代码警告的处理

警告:提示你的代码可能存在问题,但是并不影响程序编译执行

错误:代码中实打实有问题,

在Python中,函数命名主要遵循PEP 8风格指南,该指南提倡使用小写字母和下划线的方式命名函数,这是最常见也是推荐的做法。这种方式要求所有单词小写,单词之间用下划线_分隔,例如my_function_name

PEP8这里python里面一套非常流行的编程规范。

函数中的参数

对于函数来说形参和实参的个数要匹配,

形参

固定的形式,固定对实参执行的操作。

实参

函数的调用是可以有多次的,同时每次调用的实参,也是可以不同的,

函数的实参,就是在函数调用的时候,赋值给形参

在C++/Java里面,不光要求形参和实参的个数要匹配,还要求类型也要匹配,

但是在python里,只是要求个数,对类型没有要求(动态类型)

至少要保证传入的数据要能够在函数体里面能够支持对应的运算操作,即可!

函数的返回值

改进之后的代码,在calcSum函数内部,只是进行了计算,而把打印的逻辑放到了函数外面,

calcSum把计算结果当做返回值,返回给“函数调用者”

在实际开发中,一般更倾向于第二种写法!

一个通用的编程原则:一个函数只做一件事!

第一个版本,既做了计算,又做了打印(和用户交互)

第二个版本,只做了计算,不关心如何和用户交互

一旦后续需要改变和用户交互的方式,第二种写法就更有优势(不必修改代码)

当前是通过控制台和用户交互的

让逻辑和交互/界面  分离的好处叫做解耦合

python中一个函数可以返回多个值!

(非常香的特性!)

C++/Java调用一个函数一次只能返回一个值!

C++要想返回多个值,可以通过输出型参数(指针/引用)

Java要想返回多个值,需要把多个值给包装成一个对象,返回这个对象

多元赋值

x,y=10,20

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

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

相关文章

Transformer 论文重点

摘要 提出了一个 Transformer 模型,针对于一个机器翻译的小任务上表现结果比当时所有模型的效果都好,并且架构相比其它更加简单,后面就火到了发现什么方向都能用的地步。 介绍 循环神经网络,特别是长短时记忆[ 13 ]和门控循环[…

kafka-消费者-指定offset消费(SpringBoot整合Kafka)

文章目录 1、指定offset消费1.1、创建消费者监听器‘1.2、application.yml配置1.3、使用 Java代码 创建 主题 my_topic1 并建立3个分区并给每个分区建立3个副本1.4、创建生产者发送消息1.4.1、分区0中的数据 1.5、创建SpringBoot启动类1.6、屏蔽 kafka debug 日志 logback.xml1…

nginx动静分离和反向代理

一、动静分离 动静分离指的是将动态内容和静态内容分开处理。动态内容通常由后端应用程序生成,例如PHP、Python或Node.js,静态内容则包括图片、CSS、JavaScript等文件。 例子: #代理服务器一 server{listen 80;server_name www.dj.com;r…

夏季高温来袭|危化品如何安全储存?

《危险化学品安全管理条例》第三条 本条例所称危险化学品,是指具有毒害、腐蚀、爆炸、燃烧、助燃等性质,对人体、设施、环境具有危害的剧毒化学品和其他化学品。 随着夏天高温的来袭,炎热的天气对危化品储存威胁巨大,危化品事故也…

Mybatis-Plus的一些理解

MybatisPlus在Mybatis的基础上进行了增强,进一步简化了SQL的编写。对于普通的单表的CRUD,MyBatisPlus提过了相关接口进行快速操作。比如: insert(T entity): 插入一个实体,null的属性也会保存,不会使用数据库默认值。…

详解Selenium 强制等待、隐式等待和显式等待

在Selenium中使用等待机制:强制等待、隐式等待和显式等待 在自动化测试中,等待是一个非常重要的部分,因为它可以帮助确保测试脚本在执行操作前,页面元素已经加载完成或者变为可用。Selenium WebDriver 提供了多种等待机制&#x…

【C++课程学习】:C++入门(输入输出,缺省参数)

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🍩1.关于C输入输出: 🍩2.缺省参数函数: 缺省参数的概…

聊聊大模型微调训练全流程的思考

前言 参考现有的中文医疗模型:MedicalGPT、CareGPT等领域模型的训练流程,结合ChatGPT的训练流程,总结如下: 在预训练阶段,模型会从大量无标注文本数据集中学习领域/通用知识;其次使用{有监督微调}(SFT)优化…

python如何快速的判断一个key在json的第几层呢,并修改其value值

python如何快速的判断一个key在json的第几层呢,并修改其value值 def find_and_modify_key(json_obj, target_key, new_value, current_level1):# 检查当前层是否包含目标keyif target_key in json_obj:print(f"找到 {target_key} 在第 {current_level} 层。&q…

在 JavaScript 中,除了使用可选链操作符,还有哪些方法可以安全地访问对象的深层属性?

在JavaScript中,除了使用可选链操作符(?.),还有几种方法可以安全地访问对象的深层属性,避免因访问不存在的属性而抛出错误。以下是一些常用的方法: 1. 条件(三元)运算符&#xff1…

以太网基础 -- LLDP使用案例

LLDP使用技术报告 背景 链路层发现协议(Link Layer Discovery Protocol,LLDP)是一种网络协议,主要用于在以太网网络中发现相邻设备并与其交换信息。LLDP是一种开放的标准,由IEEE 802.1AB定义,能够跨多个厂…

dubbo服务引用

spring刷新容器的时候,ReferrenceBean只有被调用的情况下才会在createBean回调afterPropertiesSet的时候引入服务。 ReferrenceBean实现了FacotryBean的接口,当对任意服务Interface进行自动注入或者getBean获取,会触发getObject过程 本地服…

TensorBoard在pytorch训练过程中如何使用,及数据读取问题解决方法

TensorBoard 模块导入日志记录文件的创建训练中如何写入数据如何提取保存的数据调用TensorBoard面板可能会遇到的问题 模块导入 首先从torch中导入tensorboard的SummaryWriter日志记录模块 from torch.utils.tensorboard import SummaryWriter然后导入要用到的os库&#xff0…

通过一个例子,说明Python的责任链设计模式有什么优缺点

责任链设计模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将一个请求沿着处理者链进行传递,直到有一个处理者处理它为止。在Python中,这种模式可以通过多种方式实现,通常涉及到一系列对象…

方案设计|汽车轮胎数显胎压计方案

一、引言 数显轮胎胎压计是一个专门测量车辆轮胎气压的工具,它具有高精度测量的功能,能够帮助快速准确获取轮胎气压正确数值,保证轮胎使用安全。本文将对数显轮胎胎压计的方案技术进行分析,包括其基本原理、硬件构成、软件设计等方…

架构学习:什么是业务架构图?如何画业务架构图?

6.1~6.18,艾威618年中大促,钜惠来袭!想报课但还没下手的小伙伴,都可以行动起来啦!活动规则还是一如既往的简单、粗暴——直接立减、返现、抽奖以及送礼品!了解活动详情,请点击这里》》 业务架构…

ActiViz中的vtkVolumeMapper

文章目录 一、简介二、工作原理三、核心功能四、使用步骤五、配置与优化六、案例与应用七、扩展与集成八、结论一、简介 vtkVolumeMapper是 ActiViz库中专为处理和渲染三维体积数据设计的核心组件。在诸如医学成像、地质科学、气象模型及工程仿真等多个领域,它扮演着至关重要…

【源码】SpringBoot事务注册原理

前言 对于数据库的操作,可能存在脏读、不可重复读、幻读等问题,从而引入了事务的概念。 事务 1.1 事务的定义 事务是指在数据库管理系统中,一系列紧密相关的操作序列,这些操作作为一个单一的工作单元执行。事务的特点是要么全…

实验9 浮动静态路由配置

--名称-- 一、 原理描述二、 实验目的三、 实验内容四、 实验配置五、 实验步骤 一、 原理描述 浮动静态路由也是一种特殊的静态路由,主要考虑链路冗余。浮动静态路由通过配置一条比主路由优先级低的静态路由,用于保证在主路由失效的情况下,…

代码随想录 day27|day28|day29

回溯2 切割问题:是在每个节点判断是否是要剪枝收割元素。 startidx 是切割起点,i是本次切割终点 分割回文串 复原ip地址 非递减子序列 都是在树的节点依照题意判断,之后决定是否剪枝。 也就是都有if判断来剪枝 。 下面是非递减子序列。 下…