iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python函数为什么会默认返回None
  • 819
分享到

Python函数为什么会默认返回None

2023-06-16 07:06:07 819人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python函数为什么会默认返回None”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python函数为什么会默认返回None”吧!在正式开始之前,我们就用之前讨论过的 pas

本篇内容主要讲解“python函数为什么会默认返回None”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python函数为什么会默认返回None”吧!

在正式开始之前,我们就用之前讨论过的 pass语句 和 …对象 作为例子,看看 Python  的函数是怎样“无中生有”的:

Python函数为什么会默认返回None

可以看出,我们定义的两个函数都没有写任何的 return 语句,但是在函数调用后,都能取到一个返回值。

它们的执行效果跟直接写 return 语句相比,是完全相同的:

Python函数为什么会默认返回None

这 4 个例子属于两种类型:一种没有写 return,但是都有隐藏的 return 返回值;一种写了 return,而且实际也有返回值。

也就是说,后者在语义和行为上表现一致,前者虽然在语义上缺失,但是却有实际的行为和结果;后者的行为是显性的,前者却是隐性的。

《Python之禅》中有一句“显性胜于隐性(Explicit is better than implicit)”,但是,出于简洁和便利的考虑(Simple  is better than complex),实际上 Python 中有很多行为都是隐性的,会把一些在语法层面的事交给解释器去完成。

上一期的 真值判断 是隐性的行为,本文前两个例子也是如此。

使用dis查看字节码,就可以看到其背后的小动作:

Python函数为什么会默认返回None

在这个对比图中,可以看出上述 4 个函数的解释器指令一模一样!

不管有没有写 return,它们都会执行 return 的逻辑,而且默认的返回值就是 None。

那么,问题来了:Python 的函数为什么能默认返回 None 呢?它是如何实现的呢?

答案就在解释器中,当 CPython 解释器执行到函数的最后一个代码块时,若发现没有返回值,它就会主动地加上一个 Py_None  值返回(出自:compile.c):

Python函数为什么会默认返回None

也就是说,如果定义的函数没有返回值,Python 解释器就会(强行地)默认给我们注入一段返回逻辑!

对于解释器的这种附赠的服务,大家是觉得很贴心,还是嫌弃它多事呢?

这样的做法似乎没多少好处,但似乎也没有坏处。

到此,相信大家对“Python函数为什么会默认返回None”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Python函数为什么会默认返回None

本文链接: https://www.lsjlt.com/news/282717.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python函数为什么会默认返回None
    本篇内容主要讲解“Python函数为什么会默认返回None”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python函数为什么会默认返回None”吧!在正式开始之前,我们就用之前讨论过的 pas...
    99+
    2023-06-16
  • Python 函数默认返回None原因有哪些
    小编给大家分享一下Python 函数默认返回None原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python 有一项默认的做法,很多编程语言都没有,所...
    99+
    2023-06-16
  • python怎么让函数不返回none
    python中使用return语句让函数不返回none,具体方法如下:return语句的语法:return [返回值]使用方法:def add(a,b):c = a + bretu...
    99+
    2024-04-02
  • python-自定义函数(定义调用、默认参数、返回值)
    python-自定义函数 文章目录 python-自定义函数初识函数函数的定义与调用函数的定义:参数列表:函数体:函数调用 默认参数定义默认参数:默认参数的使用:默认参数的位置:默认参数...
    99+
    2023-09-10
    python 开发语言 numpy
  • Java8为什么会有默认方法
    这篇文章将为大家详细讲解有关Java8为什么会有默认方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。但是这一限制在Java 8中被...
    99+
    2023-06-06
  • 为什么当函数返回一个函数时 Go 泛型会失败?
    问题内容 我刚刚开始在 go 上尝试泛型,但遇到了一种我不完全理解它失败原因的情况。 我重构了以下函数: func positivepercentageabove(above int)...
    99+
    2024-02-05
  • 怎么在python中为函数指定默认值
    怎么在python中为函数指定默认值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,...
    99+
    2023-06-14
  • python中函数返回值是什么
    python中函数的返回值包含指定返回值和隐含返回值两种指定返回值当函数中有return语句时,return语句的结果就是函数的返回值。例:def info(x):return x +1函数返回值为x+1,其中x为函数的参数。隐含返回值如函...
    99+
    2024-04-02
  • python函数怎么返回多个返回值
    本篇内容主要讲解“python函数怎么返回多个返回值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python函数怎么返回多个返回值”吧!一般情况下,函数只有一个返回值,但Python也支持函数...
    99+
    2023-06-30
  • python什么函数可以返回元组
    在python中使用format函数返回元祖,具体方法如下:首先,在python中定义一个元组;def measure():temp = 39;wetness = 50trturn temp,wetness元组定义好后,使用format函数...
    99+
    2024-04-02
  • Python函数的返回值与嵌套函数是什么
    这篇文章主要介绍“Python函数的返回值与嵌套函数是什么”,在日常操作中,相信很多人在Python函数的返回值与嵌套函数是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python函数的返回值与嵌套函数...
    99+
    2023-06-02
  • python中返回函数的作用是什么
    这期内容当中小编将会给大家带来有关python中返回函数的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无...
    99+
    2023-06-14
  • python函数的默认参数为什么不可以定义可变类型
    这篇文章主要介绍“python函数的默认参数为什么不可以定义可变类型”,在日常操作中,相信很多人在python函数的默认参数为什么不可以定义可变类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python函...
    99+
    2023-06-29
  • python怎么判断函数返回值是否为空
    python中使用if_else语句判断函数的返回值是否为空,具体方法如下:首先,在python中定义一个函数;def test():    return None函数定义好后,使用if_else语句对函数的返回值进行判断;def test...
    99+
    2024-04-02
  • 怎么在python中返回函数
    怎么在python中返回函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、...
    99+
    2023-06-14
  • python中什么是默认参数
    本篇文章给大家分享的是有关python中什么是默认参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工具,Py...
    99+
    2023-06-14
  • ShellExecute函数返回值是什么
    ShellExecute函数的返回值是一个HINSTANCE类型的值,它表示执行操作的实例句柄。如果函数执行成功,返回值为大于32的...
    99+
    2023-08-08
    ShellExecute
  • 如果没有提供参数,MySQL ASCII() 函数会返回什么?
    在这种情况下,这意味着我们提供一个空字符串作为 ASCII() 函数的参数。如果提供空字符串,它将返回 0。示例mysql> Select ASCII(''); +-----------+ | ASC...
    99+
    2023-10-22
  • python的函数形参和返回值是什么
    这篇文章主要介绍了python的函数形参和返回值是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python的函数形参和返回值是什么文章都会有所收获,下面我们一起来看看吧。函数的返回值一个函数执行后可以返回...
    99+
    2023-06-29
  • python中函数返回值的作用是什么
    python中函数返回值的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作