Python 函数的 return 是否是必须的?

2023-05-16

—— Python 函数的 return 是否是必须的?

—— return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。

 

来看一段关于 return 的描述:

return may only occur syntactically nested in a function definition, not within a nested class definition.

If an expression list is present, it is evaluated, else None is substituted.

return leaves the current function call with the expression list (or None) as return value.

When return passes control out of a try statement with a finally clause, that finally clause is executed before really leaving the function.

In a generator function, the return statement indicates that the generator is done and will cause StopIteration to be raised. The returned value (if any) is used as an argument to construct StopIteration and becomes the StopIteration.value attribute.

【译】

return 可能只发生在函数定义中,而不是在嵌套类定义中。

如果出现了表达式列表,那么它将被评估,否则替换为 None 。

return  将当前的函数调用与表达式列表(或None)作为返回值。

当return通过最后的子句从try语句中获得控制权时,最后的子句在真正离开函数之前执行。

在生成器函数中,return 语句表明生成器已经完成,并将导致停止迭代。返回值(如果有的话)被用作构造stop迭代的参数,并成为停止迭代的价值属性。

 

因此,如果不写return语句,那么默认函数结尾会return None

 

转载于:https://www.cnblogs.com/shenxiaolin/p/7944174.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 函数的 return 是否是必须的? 的相关文章

  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 如何使用 PrimaryKeyRelatedField 更新多对多关系上的类别

    Django Rest 框架有一个主键相关字段 http www django rest framework org api guide relations primarykeyrelatedfield其中列出了我的 IDmany to m
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • Spring常用配置

    上篇文章我们简单介绍了Spring的基本配置 xff0c 算是一个简单的入门 xff0c 这篇文章我们再一起来看看Spring在使用的过程中一些其他的常见配置 Bean的Scope Spring中的Scope注解主要是为了解决Bean的实例
  • iOS开发网络篇 —— OC加载HTML代码

    html代码 图1 样式一 xff1a 34 lt p gt lt img src 61 34 upload image 20170609 1496978712941664 jpg 34 title 61 34 14969787129416
  • Python 安装与环境变量配置

    一 软件下载 Python安装包下载地址 xff1a https www python org 二 安装过程 xff08 略 xff09 三 环境变量配置 xff1a 方法一 xff1a 使用cmd命令添加path环境变量 在cmd下输入
  • USB串口导致鼠标乱跳

    近期在工控机上安装USB串口 xff0c 结果装上没几天 xff0c 就有反馈开机后鼠标乱跳 然后 xff0c 开始解决问题 环境 xff1a 工控机操作系统Windows 7专业版 xff0c USB串口Z TEK USB RS232 1
  • Minimum Depth of Binary Tree 二叉树的最小深度

    Given a binary tree find its minimum depth The minimum depth is the number of nodes along the shortest path from the roo
  • 【Android Studio】成功解决 “gradle project sync failed”

    更新Android Studio后报错 xff1a gradle project sync failed Basic functionality e g editing debugging will not work properly 网上
  • 我失败的程序员生涯

    我 xff0c 一个普普通通的人 普通本科毕业 xff0c 来到北京成为了一个普通的程序员 2013年 xff0c 我本科毕业 xff0c 然后就踏上了北漂的征程 来之前想的很清楚 北京技术发达先进 我可以在这里工作三四年 xff0c 学习
  • gdb+gdbserver远程串行协议[zz]

    转载地址 xff1a http blog sina com cn s blog 71ed04f70100qhxc html gdbserver debug remote debug mount hello Usage gdbserver O
  • python 远程关机_python实现微信远程电脑关机完整源码

    这是python实现微信远程电脑关机完整源码下载 xff0c 通过手机微信发送QQ邮件给sina邮箱 xff0c 然后利用python的pop3定时检查sina邮箱的邮件主题以及邮件来源 xff0c 并在电脑执行相应的命令行实现关机 软件介
  • html设计思路,网页设计思路7个方法

    网页设计思路7个方法 网页设计除了要设计的漂亮 xff0c 体验优秀 xff0c 还要让用户对网站难以忘怀 xff0c 这就需要设计师进行深入的思考 xff0c 通过更加走心的设计 xff0c 来抓住用户的心 毕竟没有哪个站长不想让自己的网
  • 安卓网络类型设置的实现

    工作背景 xff1a 公司出口国外某国的设备 xff0c 因为该国对4G认证要求较高 xff0c 流程非常麻烦 xff0c 客户不想取得4G方面认证 xff0c 因此订单机器设备需禁用4G xff0c 且不能手动恢复4G xff0c 默认3
  • 硬件虚拟化

    硬件虚拟化也称作完全虚拟化 在计算机科学中 xff0c 硬件虚拟化 xff08 英语 xff1a Hardware virtualization xff09 是一种对计算机或操作系统的虚拟 虚拟化对用户隐藏了真实的计算机硬件 xff0c 表
  • 计算机语言怎么学才学得好,如何正确开始学习计算机编程语言?

    原标题 xff1a 如何正确开始学习计算机编程语言 xff1f 俗话说 xff0c 好的的开始是成功的一半 学习编程语言任重而道远 xff0c 如何准备学习是一个很关键的问题 今天小助手给大家分享如何开始学习编程语言的建议 xff0c 希望
  • html中如何传递数组,如何将数组从select html元素组件传递到数组中具有不同值的两个文本组件...

    我正在尝试在选择值之后从select元素中获取价格值 例如股票描述 数字发票QT 售价 100 但是我已经写了下面的代码 当我运行它时 我会得到这个错误 销售价格返回 未定义 所以我非常感谢你能帮我 因为我整天都在上网寻找帮助 import
  • Codeforces Round #589 div.2 C,D

    感觉这一场的复杂度非常的玄学 也可能是我偷懒太长时间变菜了QAQ C 题意 给出 x n 求x质因子的从1到n的g i p 的连乘思路 求出x的每个质因子 直接连乘到n计算即可 code include lt bits stdc 43 43
  • 微信支付报调用支付JSAPI缺少参数: sign

    检查后台返回参数中没有paySign字段 转载于 https www cnblogs com muou2125 p 11604456 html
  • Windows下使用命令打开远程桌面

    如果在Windows系统下找不到 远程桌面 入口 xff0c 可以使用命令方式打开 方法如下 xff1a 在命令提示符中输入如下命令 xff1a start mstsc exe 如果感觉每次都输入命令太麻烦 xff0c 可以新建一个bat批
  • 设置input 中placeholder的样式

    webkit input placeholder Chrome Opera Safari position relative top 4px moz placeholder Firefox 19 43 position relative t
  • 如何为Redis中list中的项设置过期时间

    问题 两种解决方法 有序集合 多个集合以及TTL Redis是一个伟大的工具 xff0c 用来在内存中存储列表是很合适的 不过 xff0c 如果你想要快速搜索列表 xff0c 同时需要让列表中每项都在一定时间后过期 xff0c 应该怎么做呢
  • Python 函数的 return 是否是必须的?

    Python 函数的 return 是否是必须的 xff1f return 表达式 语句用于退出函数 xff0c 选择性地向调用方返回一个表达式 不带参数值的return语句返回None 来看一段关于 return 的描述 xff1a re