python中的多值返回模式

multiret的Python项目详细描述


原来,您有:

deffunc():return1printfunc()+func()

然后您决定func()可以返回一些额外的信息,但是您不想破坏以前的代码 (或逐一修改)。 看起来

deffunc():return1,"extra info"value,extra=func()printvalue# 1 (expected)printextra# extra info (expected)printfunc()+func()# (1, 'extra info', 1, 'extra info') (not expected, we want the previous behaviour, i.e. 2)

先前的代码(func() + func())已损坏。你得把它修好。

解决方案是根据答案改编的

http://stackoverflow.com/questions/17648591/multiple-value-return-pattern-in-python-not-tuple-list-dict-or-object-soluti/17680730#17680730

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
反射Java反射:高负载下的NoSuchMethodException   java RxJava:one request>list of Integer>sequence of requests for each int>result to list   java为什么循环之前索引会增加   JavaSpring远程处理和RESTfulURL   java Hibernate搜索仅对我的实体的一部分进行索引   使用DPAD快速滚动时,java RecyclerView onCreateViewHolder调用过多   java将JSON解析到一个表中   java导航抽屉标题textview nullpointerexception   基于接口的Java链接队列   java Guice运行时依赖项参数重新注入   java展平/压缩ZSH中的深度嵌套目录   JavaSpring:Http406此请求标识的资源只能   java如何制作Android启动器图标   Java代码在windows上显示不正确(包含希腊语句子)   使用yourkit进行内存分析所用的java时间   java为什么可以序列化属性而不能序列化对象本身?