python 函数是否应该总是返回一些值?

2024-05-11

当我开始使用 python 编码时,一位高级开发人员建议我放置一个return True(一般为布尔值)每当函数的作用域结束时。

例如:

def mytest():
    try:
        os.system('convert ./text.pdf ./text.jpg')
    except:
        pass
   
    return True

不过,这对 python 解释器重要吗?返回 None 是否等于根本不返回?


没有明确的要求return– Python 函数会隐式地return None当它结束时没有值。

>>> def void():
...     a = 3 + 4
...
>>> print(void())
None

至于什么是可取的,根据官方风格指南 https://www.python.org/dev/peps/pep-0008/#programming-recommendations这是惯用语持续的 with return声明:

保持一致return声明。函数中的所有 return 语句要么都应该返回表达式,要么都不应该返回。如果任何 return 语句返回一个表达式,任何不返回值的返回语句都应明确声明为 return None,并且函数末尾应有显式的 return 语句(如果可以到达):

请注意,仅当函数可能返回隐含值以外的某个值时,才应在函数末尾使用显式 return 语句。None。基本上有三种情况:

  • 功能return从来没有。请勿添加return在最后。
  • 功能return很早,但没有明确的价值。请勿添加return在最后。
  • 功能returns 至少一个显式值。请添加return最后有一个明确的值。

举个例子,函数发出成功或失败信号是有意义的:

def mytest():
    return_code = os.system('convert ./text.pdf ./text.jpg')
    # demonstration only – use `return return_code == 0` in practice
    if return_code == 0:
        return True  # explicit return of a value
    return False     # -> explicit return at the end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 函数是否应该总是返回一些值? 的相关文章

  • 为什么 Mypy 在 __init__ 中分配已在类主体中进行类型提示的属性时不给出键入错误?

    这是我的示例 python 文件 class Person name str age int def init self name age self name name self age age p Person 5 5 但当我跑步时myp
  • Flask-SocketIO redis 订阅

    我在用着https github com miguelgrinberg Flask SocketIO https github com miguelgrinberg Flask SocketIO实现 WebSocket 服务器 我需要从另一
  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • docker 容器中的“(pygame parachute)分段错误”

    尝试在 docker 容器中使用 pygame 时出现以下错误 我想从容器中获取显示 Fatal Python error pygame parachute Segmentation Fault 重现 Docker已安装 docker ru
  • Scrapy 文件管道不下载文件

    我的任务是构建一个可以下载所有内容的网络爬虫 pdfs 在给定站点中 Spider 在本地计算机和抓取集线器上运行 由于某种原因 当我运行它时 它只下载一些但不是全部的 pdf 通过查看输出中的项目可以看出这一点JSON 我已经设定MEDI
  • 将整数系列转换为交替(双元)二进制系列

    我不知道如何最好地表达这个问题 因为在这里谷歌搜索和搜索总是让我找到更复杂的东西 我很确定这是基本的东西 但对于我的生活来说 我找不到一个好的方法来做到这一点下列 给定一个整数序列 比如说 for x in range 0 36 我想将这些
  • NSUserNotificationCenter.defaultUserNotificationCenter() 使用 PyInstaller 返回 None

    我正在尝试将通知发送到通知中心 Mac OSX 我正在使用 PyObjC 绑定来使用我们的 python 应用程序中的 cocoa api 我正在使用以下代码片段 import Foundation import objc NSUserNo
  • 使用 scikit 时 scipy.sparse 矩阵的缩放问题

    在使用 scikit learn 解决机器学习问题时 我需要在使用 SVM 进行训练之前对 scipy sparse 矩阵进行缩放 但在文档 http scikit learn org stable modules preprocessin
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • 为什么需要设置WORKON_HOME环境变量?

    我已经有一段时间没有使用 python 虚拟环境了 但我也安装了虚拟环境包装器 我的问题是 在文档页面中它说要这样做 export WORKON HOME Envs mkdir p WORKON HOME source usr local
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • 了解 Python 2.7 中的缩进错误

    在编写 python 代码时 我往往会遇到很多缩进错误 有时 当我删除并重写该行时 错误就会消失 有人可以为菜鸟提供 python 中 IndentationErrors 的高级解释吗 以下是我在玩 CheckIO 时收到的最近 inden
  • 使用 ElementTree 在 python 中解析 xml

    我对 python 很陌生 我需要解析一些脏的 xml 文件 这些文件需要先清理 我有以下 python 代码 import arff import xml etree ElementTree import re totstring wit
  • 如何通过selenium中弹出的身份验证?

    我正在尝试使用带有 Selenium 的 Python 脚本加载需要身份验证的网页 options webdriver ChromeOptions prefs download default directory r download de
  • 如何创建增量加载网页

    我正在编写一个处理大量数据的页面 它会永远持续到我的结果页面加载 几乎无限 因为返回的数据太大了 因此 我需要实现一个增量加载页面 例如 url 中的页面 http docs python org http docs python org
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • PyQt5按钮lambda变量变成布尔值[重复]

    这个问题在这里已经有答案了 当我运行下面的代码时 它显示如下 为什么 x 不是 x 而是变成布尔值 这种情况仅发生在传递到用 lambda 调用的函数中的第一个参数上 错误的 y home me model some file from P
  • 检查 IP 地址是否在给定范围内

    我想检查一下是否有IP180 179 77 11位于特定范围之间 例如180 179 0 0 180 179 255 255 我编写了一个函数 它将每个 IP 八位字节与其他八位字节进行比较 def match mask IP min ip
  • Chrome 驱动程序和 Chromium 二进制文件无法在 aws lambda 上运行

    我陷入了一个问题 我需要在 AWS lambda 上做一些抓取工作 所以我按照下面提到的博客及其代码库作为起点 这非常有帮助 并且在运行时环境 Python 3 6 的 AWS lambda 上对我来说工作得很好 https manivan
  • 使用 python 将 CSV 文件上传到 Microsoft Azure 存储帐户

    我正在尝试上传一个 csv使用 python 将文件写入 Microsoft Azure 存储帐户 我已经发现C sharp https blogs msdn microsoft com jmstall 2012 08 03 convert

随机推荐

  • Flexbox 中的图像高度在 IE 中不起作用

    我有一个 Flex 行 其中包含 5 个 Flex 单元格 其中包含一个应该在中间对齐的图像 它在 Chrome 和 Firefox 中完美运行 但在 IE 中却不行 它没有得到好的比例 换句话说 height auto当图像位于 Flex
  • 取消并重新启动 CountDownTimer 问题

    您好 我在使用 CountDownTimer 函数时遇到问题 首先我可以用 counter cancel 让它停止倒计时 然后我将 milliUntilFinished 值存储在 countercur 中 然后我使用存储的 counterc
  • 2015 年重新审视 Ember Handling 401

    我可以在 Ember Ember Data 中找到大量询问 回答如何从 Rails 后端处理 401 的老问题 许多 如果不是全部的话 在这一点上似乎已经过时了 我已经尝试了我能找到的一切 Ember 数据处理 401 https stac
  • 如何在WP7 WebBrowser控件中注入Javascript?

    我可以通过此链接将 JavaScript 注入到 C Windows 窗体中的 WebBrowser 控件中 如何在WebBrowser控件中注入JavaScript https stackoverflow com questions 15
  • 具有非常大的数字的除法

    我只是想知道在处理大数字时有哪些不同的除法策略 我所说的大数字是指 50 位数字 例如 9237639100273856744937827364095876289200667937278 82637448262718273966299344
  • Xamarin Forms 框架阴影设计

    我有一个带有列表的 Xamarin 内容页面 对于 ListItems 我想要类似于 Android 中的卡片视图的东西 根据我发现可以通过框架来完成 我有这个代码
  • hadoop中reducer的数量

    我正在学习hadoop 我发现减速器的数量非常令人困惑 1 reducer的数量与partition的数量相同 2 reducer 的数量是 0 95 或 1 75 乘以 节点数 每个节点的最大容器数 3 减速机数量设定为mapred re
  • Windows 上的 wchar_t 和 char16_t 是一样的吗?

    我有一个实例std u16string 我可以通过它吗c str 到一个 Win32 API 它期望LPCWSTR 没有任何类型的转换 例如 我可以安全地这样做吗 auto u16s std u16string u Hello SetWin
  • 我想在后端验证来自 golang 前端的时区

    前端在注册期间发送时区以及其他用户详细信息 我需要在时区上放置一个验证器来进行 api 测试 时区数据的格式为 GMT 10 00 Hawaii GMT 08 00 Pacific Time US amp Canada 我所做的是定义数组中
  • 如何从 OpenCover 报告中排除类别

    在使用 OpenCover 为 MSTest 套件生成覆盖率报告 然后使用 ReportGenerator 生成 HTML 报告 时 我尝试排除框架生成的类 特别是 通过服务引用在项目的命名空间下生成的类 我用来生成 XML 文件的命令如下
  • jwt.io 上的“秘密 Base64 编码”是什么意思以及如何使用 `openssl dgst` 模拟它

    我尝试从 jwt io 获得相同的输出openssl 只要我这样做not mark 秘密base64编码 我可以把签名之前的部分 运行它 echo n pasted data from jwt io openssl dgst binary
  • 如何从网页启动 Windows 应用程序?

    我们有一个公司内部网 并且权力机构认为拥有一组代表大多数代表使用的应用程序 Outlook Excel 少数其他应用程序 的图标 链接会很好 这个想法是 如果安装了应用程序 单击链接 图标将在客户端计算机上启动该应用程序 有人曾经有过这样的
  • Android 浏览器是否在 touchStart 上锁定 DOM?

    我正在尝试构建一个包含 5 个块的菜单 用户可以在其中旋转 您可以在这里查看演示 http m iijax com menu php http m iijax com menu php 在 iPhone 上运行良好 有时有点迟缓 但这不是重
  • 用于移动 Web 应用程序的带有图表的框架

    我正在开发一个移动网络应用程序 我需要在饼图中表示一些数据 但是我没有找到任何好的框架来提供良好的选择并在移动设备上正常工作 我想知道一些框架 免费 这可以帮助我 如果您能给出一些基础示例 我会感到惊讶 我正在考虑使用 ajax 技术来显示
  • 如何在 macOS 上的 SwiftUI 中设置拖动图像

    我正在尝试更改 GridView 的默认拖放预览图像 该图像似乎包含网格中的所有可见项目 据我了解 我应该能够设置NSItemProvider previewImageHandler块来自定义所使用的图像 我似乎找不到任何关于返回自定义图像
  • DataContext.CreateDatabase() 表示文件已存在 - 但事实并非如此

    这可能是 Windows 7 问题 但调用 using var context new DataClassesDataContext if context DatabaseExists context CreateDatabase 结果出现
  • C# WPF 如何动态设置属性设置方法?

    我一直在四处寻找 但似乎找不到我要找的东西 所以我会在这里尝试一下 情况 我有 MainWindow 和 MainWindowData 类 MainWindowData 中只有使用 UpdateGUI 属性定义的公共属性 public cl
  • SQL Server、ISABOUT、加权项

    我试图弄清楚加权项在 SQL SERVER 的 ISABOUT 查询中是如何工作的 这是我目前所在的位置 每个查询返回以下行 查询 1 权重 1 初始排名 SELECT FROM CONTAINSTABLE documentParts ti
  • 如何加快列表理解速度

    以下是我的清单 col red yellow blue red green yellow pink orange brown pink brown 我的目标是消除每个列表中出现一次的项目 这是我的代码 eliminate w for w i
  • python 函数是否应该总是返回一些值?

    当我开始使用 python 编码时 一位高级开发人员建议我放置一个return True 一般为布尔值 每当函数的作用域结束时 例如 def mytest try os system convert text pdf text jpg ex