Python初学者须知(9)Return有什么用——初识Return语句

        本系列博客主要针对的是Python初学者。Python语言简洁、强大的特性吸引了越来越多的技术人员将他们的项目转移到Python上。目前,Python已经成为计算机行业最流行的编程语言之一。笔者考虑到Python初学者的多元化(Python学习者可能是对编程感兴趣的中学生、学校刚开课的大学生、或者有转型打算的在职人员),本系列博客将结合实际例子深入浅出的全面讲解Python中的所有核心概念,让你知道Python是如何描述世界的。

        本文是笔者的系列博客《Python初学者须知》的第九篇,主要内容是向大家介绍Python中的Return语句,同时本文也是对上一篇关于Python中函数使用的一个补充。

        在数学世界,函数是描述数与数之间关系和最数进行一系列操作的最重要工具,当他被引用到了Python中后,他就理所应当的成为了Python描述世界最方便、实用的工具。在编程中,函数(Function)是一段可重复使用的代码块,用于执行特定的任务或操作。函数通过接受输入(参数)、执行特定操作,并返回输出(返回值)来完成工作。其中返回输出这一步就是通过Return语句完成的。

        Return语句是在Python中用于从函数中返回值的关键字。当一个函数执行到Return语句时,它会立即终止函数的执行并将指定的值返回给调用者。这个返回值可以被存储在变量中,或者在其他表达式中使用。因此,Return语句就有了以下两种应用:

返回值: 允许函数将计算的结果返回给调用者。

下面是一个简单的例子,演示了Return语句的用法:

首先给出一个无R的代码:

def add_numbers(x, y):
    result = x + y
the_result =  add_numbers(5, 3)
print("Sum:", the_result)

代码运行结果:

 根据代码的运行结果,我们可以发现函数运行结束后输出的结果并不是我们所期待的“8”,当我们为代码添加一个Return语句来存储add_numbers函数运行的结果看一看:

def add_numbers(x, y):
    result = x + y
    return result;
the_result =  add_numbers(5, 3)
print("Sum:", the_result)

代码运行结果: 

我们可以清楚的看到,在加入一个R语句存储好函数的运行结果后就可以正确的输出结果了。

函数终止: 一旦执行到Return语句,函数将立即终止,不再执行后续代码。

        需要我们注意的是,我们在构造函数的时候一定要关注Return语句的位置,不然可能会在不知情的情况下“注释”掉一些代码,导致程序出错。以下是一个简单的通过循环遍历求解“韩信点兵”问题的代码,我们在保证正常函数功能的情况下添加一些语句:

def find_possible_people():
    for people in range(100, 201):
        if people % 3 == 2 and people % 5 == 3 and people % 7 == 2:
            return people
            print("万某只有" + find_possible_people() + "厘米高!");
result = find_possible_people()

if result is not None:
    print(f"可能的人数是:{result}")
else:
    print("未找到符合条件的人数。")

来看看效果:

在本代码的运行结果中,我们可以清楚的看到代码运行后并没有打印万某的身高,由此也可以证明到在函数中Return语句后的语句实际上是不会运行的。

        通过这些关于函数使用例子以及一些常见的注意事项,希望你对Python的基础有了更深入的了解。正确的认识是编程旅程中的最基本技能,也是打下坚实基础的最关键一步。希望大家不要教小孩说“Return语句是为了让程序更稳定”这种贻笑大方的话咯。

以上就是《Python初学者须知(9)Return有什么用——初识Return语句》的全部内容。

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

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

相关文章

设备树(1)-设备树是什么?设备树基础概念及语法

1.简介 设备树:device tree DTS:设备树源码文件,采用树形结构描述板级信息,例如IIC、SPI等接口接了哪些设备 DTSI:设备树头文件,描述SOC级信息,例如几个CPU、主频多少、各个外设控制信息等 DTB…

面试中问你查看日志的命令,可不能只说tail,cat,more

首选,如何查看日志: 很多初级测试人员,在进行执行测试用例这个步骤时,发现bug,不能更加的准确去定位bug,在这样的情况下就可以打开Linux服务器,敲命令查看操作进行中的实时日志,当系…

内网穿透Neutrino-Proxy, 中微子代理

中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目。技术栈:Solon、MybatisPlus、Netty遵循MIT许可,因此您可以对它进行复制、修改、传播并用于任何个人或商业行为。官网地址1:https://neutrino-p…

【干货】散射光场调控方法及应用

摘要:散射是一种在自然界中普遍存在的现象,散射光场调控的研究在光学成像、光通信、非线性光学、量子光学、生物医疗等领域具有极其重要的科学意义和应用价值。波前整形方法可以改变入射光的相位模式分布来补偿由于散射引起的相位畸变,使得散…

图片太模糊我们怎么提高清晰度呢

在数字时代,图片是我们日常生活中不可或缺的一部分。然而,有时候由于各种原因,我们得到的图片清晰度可能并不理想。这篇文章将介绍三款软件,帮助你提高图片的清晰度,让你的图片更加生动、清晰。 一、水印云 水印云是…

慢查询定位

慢查询 使用工具 mysql自带慢日志 默认没有开启需要手动开启 查看慢日志中的文件 总结

Go 爬虫之 colly 从入门到不放弃指南

文章目录 概要介绍如何学习官方文档如何安装快速开始如何配置调试分布式代理层面执行层面存储层面存储多收集器配置优化持久化存储启用异步加快任务执行禁止或限制 KeepAlive 连接扩展总结如果想用 GO 实现爬虫能力,该如何做呢?抽时间研究了 Go 的一款爬虫框架 colly。 概要…

实战讲解|Trino 在袋鼠云数栈的探索与实践

当前随着企业内外部数据源的不断扩展和积累,数据呈现出大规模、多样化、质量参差不齐等显著特征。如何有效激活这些结构复杂且类型多样的数据资产,挖掘其深层价值,已成为众多企业亟待解决的实际挑战。 袋鼠云数栈作为新一代一站式大数据基础…

【分布式监控】zabbix与grafana连接

1.在zabbix- server服务端安装grafana,并启动服务 先在官网下载软件 https://grafana.com/grafana/download/9.4.7?editionenterprise&pggraf&plcmtdeploy-box-1#可以翻译成中文介绍,很详细的教程 yum install -y https://dl.grafana.com/ent…

SDL2 连续帧图像显示

QT使用SDL多窗口显示视频(linux,ubuntu)_linux qt sdl-CSDN博客 QT使用SDL播放YUV视频 - C - QT SDL调用OPENGL渲染图像 - C - 心得 C 使用SDL显示RGB图像数据_c sdl-CSDN博客 SDL库入门:掌握跨平台游戏开发和多媒体编程_sdl开…

MySQL篇—性能压测工具mysqlslap介绍

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

gh0st远程控制——客户端界面编写(一)

1、新建一个基于对话框的MFC程序 ghost内核对unicode支持不好,所以不要勾选 在静态库使用MFC有助于我们的代码供别人使用 2、设置窗口可最大最小化 对话框 》右键属性 3、 为对话框添加列表 一个代表列表框架,一个代表日志框架 分别为2个控件添加唯…

SQL Povit函数使用及实例

PIVOT函数常用于数据的行转列&#xff0c;同时也可以用此函数实现类似于Excel中的数据透视表的效果。 PIVOT函数 PIVOT 函数的基本语法如下&#xff1a; -- PIVOT 语法 SELECT <非透视的列>,[第一个透视的列] AS <列名称>,[第二个透视的列] AS <列名称>,.…

Maxwell介绍

一、介绍 介绍&#xff1a;它读取MySQL binlog并将数据更改作为JSON写入Kafka、Kinesis和其他流媒体平台&#xff08;目前支持&#xff1a;kafka、RabbitMQ、Redis、file、Kinesis、Nats、Google Cloud Pub/Sub、Google Cloud Bigquery、SNS&#xff09; 版本&#xff1a;从v1.…

解决百度地图在模拟器上运行报 java.lang.IllegalArgumentException: No config chosen问题

解决百度地图在模拟器上运行报 java.lang.IllegalArgumentException: No config chosen 问题 1. 问题复现 在近期公司使用模拟器(网易MuMu)进行项目演示时&#xff0c;在进入存在百度地图(Android版本 7.4.2版本)之后&#xff0c;页面出现奔溃&#xff0c;后台日志为&#xf…

域环境权限提升

Windows系统配置错误 在Windows系统中&#xff0c;攻击者通常会通过系统内核溢出漏来提权&#xff0c;但是如果碰到无法通过系统内核溢出漏洞法国提取所在服务器权限的情况&#xff0c;就会系统中的配置错误来提权。Windows系统中常见哦欸之错误包括管理员凭证配置错误&#x…

Linux7 安装 Oracle 19C RAC 详细图文教程

实战篇&#xff1a;Linux7 安装 Oracle 19C RAC 详细图文教程 本文是按照&#xff1a;https://www.modb.pro/db/154424的思路进行编写 一、安装前规划 安装RAC前&#xff0c;当然要先做好规划。具体包含以下几方面&#xff1a; 节点主机版本主机名实例名Grid/Oracle版本Publi…

【论文简介】个性化真实人像生成方法(2024.01.15发布,即将开源)

零样本身份保留生成方法&#xff1a;声称效果好于PhotoMaker&#xff08;即将开源&#xff09; 2401.InstantID: Zero-shot Identity-Preserving Generation in Seconds &#xff1a; 项目主页&#xff1a;https://instantid.github.io/ 一、简介 本文的主要内容是介绍了一种…

【MATLAB】SVMD_LSTM神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 SVMD-LSTM神经网络时序预测算法是一种结合了单变量经验模态分解&#xff08;Singular Value Decomposition&#xff0c;SVD&#xff09;和长短期记忆神经网络&#xff08;LSTM&#xff09…

十年很短,编程很难

前天冲浪看到的一篇文章&#xff0c;深有感触&#xff0c;翻译给大家一起看看吧 许多年前&#xff0c;当我仍是一名主修计算机科学的高年级学生时&#xff0c;我整天浏览各种在线招聘信息&#xff0c;希望能找到适合程序员的实习职位 除了实习职位&#xff0c;我偶尔也会点击一…