首页 / 知识
关于python:函数返回多个值是合适的吗?
2023-04-15 06:48:00

Is it pythonic for a function to return multiple values?在Python中,可以让函数返回多个值。这里有一个人为的例子:
这似乎很有用,但看起来它也可能被滥用("好吧..函数x已经计算出作为中间值所需要的东西。"让x返回该值)。 你应该什么时候画线和定义一个不同的方法? 绝对(例如您提供的示例)。 tuples是python中的头等公民有一个内建函数
还有其他例子:
顺便说一句,大多数时候不需要括号。从python库引用参考:
功能应为单一目的服务 因此,它们应该返回单个对象。在您的例子中,这个对象是一个元组。将元组视为特殊的复合数据结构。有些语言几乎每个函数都返回多个值(lisp中的列表)。 有时返回 在Python2.6中引入命名元组后,在许多情况下,最好返回命名元组,而不是纯元组。
首先,注意python允许以下内容(不需要括号):
关于你的问题,没有硬性和快速的规则。对于简单的(通常是人为的)例子,似乎给定函数总是可能有一个单一的用途,从而产生一个单一的值。但是,在将Python用于实际应用程序时,您很快就会遇到许多情况,其中需要返回多个值,从而导致代码更干净。 所以,我想说,做任何有意义的事情,不要试图遵守一个人为的约定。python支持多个返回值,因此在适当的时候使用它。 您给出的示例实际上是一个名为 对我来说,如果代码更干净,那就是Python。比较这两个代码块:
是的,返回多重价值(i.e.,a tuple)是定义的Python。由于其他人已经指明,在Python标准图书馆以及在适当的Python项目中都有许多例子。另外两个评论: Python's handling of method determinates necessitates the ability to directly return multiple values.例如,在C++中,方法参数可以通过引用来传输,因此,可以将输出值分配给他们,再加上形式回报值。In Python,are passed"by reference"(but in the sense of Java,not C+).你不能为方法论据分配新的价值,它反射出方法范围。For example:
比较: ZZU1 OT:RSRE's algol68 has the curious"/EG
给出一个商数,3,16。 注:Typically the value of(X/:=Y)"is discarded as quote"X"is assigned by reference,but in RSRE's case the returned value is the remainder. C.F.Integer算法-算法68 返回元组很酷。还要注意新的名称在python 2.6中添加了这个选项,这可能会使您更喜欢它:http://docs.python.org/dev/library/collections.html collections.namedtuple 当然是Python。事实上,您可以从一个函数返回多个值,这个函数是您在C语言中使用的样板文件,在C语言中,您需要为在某个地方返回的每个类型组合定义一个结构。 但是,如果您达到了从一个函数返回疯狂值(比如10个值)的程度,那么您应该认真考虑将它们捆绑在一个类中,因为在这一点上,它会变得很难处理。 我是新来的Python,但水管技术看起来像是我的Python。但是,我有另一个想法,也许可以提高可行性。使用一个字典允许存取到不同值的名称比位置。For example:
对于诸如 如果返回值开始变得混乱,请检查函数是否做得太多,如果做得太多,则将其拆分。如果一个大元组被当作一个对象来使用,就把它变成一个对象。另外,考虑使用命名的元组,它将是Python2.6中标准库的一部分。 |
最新内容
相关内容
linux多个窗口命令?
linux多个窗口命令?,工具,系统,命令,首页,技术,情况,终端,窗口,脚本,界面,Linux一次在多个服务器运行命令1、把你的命令写入一个shell脚本就行linux脚本多个命令?
linux脚本多个命令?,系统,工作,标准,服务,命令,软件,管理,连续,电脑,设备,linux脚本如何一键授权并执行1、chmod u+x file,如果只给文件所有者linux多个命令输入?
linux多个命令输入?,系统,工具,工作,命令,电脑,地址,信息,软件,服务,连续,Linux多台主机批量执行命令执行命令(记得先对doCommand.s h增加执行linux启动多个命令?
linux启动多个命令?,密码,工作,对比,设备,标准,代理,第一,命令,参数,脚本,重启服务器的linux命令首先我首要把linux开机, 命令 rebot 这个是linlinux杀多个进程命令?
linux杀多个进程命令?,系统,数字,进程,名称,工具,状态,电脑,材料,管理,命令,在Linux系统中使用xkill命令杀掉未响应的进程1、首先,连接相应linupython如何replace(替换)多个字符?
python如何replace(替换)多个字符?,培训,字符,字符串,方法,正则,括号,数组,函数,定义,以上,python中使用replace替换多个字符的方法:1、使用repython如何汇总多个exce
python如何汇总多个exce,数据,代码,培训,文件,数组,模块,命令,下面,以上,两个,python合并Excel文件需要使用xlrd、XlsxWriter两个模块。可以学python3看什么书合适
学python3看什么书合适,项目,代码,基础,异常,工具,概念,实战,初级,数字,数据,本文推荐几本学Python3的书:《“笨办法”学Python(第3版)》是一python的函数能返回多个值吗
python的函数能返回多个值吗,培训,位置,函数,结果,坐标,语句,简写,位移,括号,假象,函数体内部的语句在执行时,一旦执行到return,函数就执行完毕python怎样定义函数返回值
python怎样定义函数返回值,培训,代码,函数,定义,形式,以上,感觉,结果,更多,内容,python函数返回值,两种形式:1返回一个值。2返回多个值。现看看python函数返回值是不是整形
python函数返回值是不是整形,培训,观察,函数,参数,逗号,类型,表达式,示例,语句,错误,python函数的返回值我们知道,函数可以通过return[表达式]python函数返回值是什么
python函数返回值是什么,培训,代码,位置,简介,函数,语句,上面,结束,结果,变量,return语句位置与多条return语句1、python函数使用return语句