我的函数只是修改一个列表。但是,我不希望它返回甚至'None',但它返回'None'。有没有办法来解决这个问题?没有返回语句,但仍然返回无
-4
A
回答
1
TL; DR:不,在Python中默认返回None
的方法并不有意义。
在Python中,返回隐含的None
是最接近你可以做的“不返回任何东西”。这与例如C,其中void
函数声明将阻止分配给变量。此行为是为了保持一致性Python语言的一部分,因为
x = MyFunc()
必须定义和存储在x
一定的价值。同样,使用诸如
OtherFunc(1, 2, MyFunc())
或
[ 1, 2, 3, MyFunc() ]
或
MyFunc() * 3
都需要有一定的行为。隐含的返回值为None
,这些问题在Python中以特定方式解决。
它不有是这个样子 - 在原则上,如果有人重新设计的Python的这部分可能有几个不同的自洽的方法 - 例如Python的可能有一些特殊的价值只能从函数调用返回,并且如果它被发现在任何其他可能引发错误的表达式中。值得注意的是,在某些情况下,如3 * MyFunc()
,返回值为None
将以这种方式引发错误 - 但您不能立即根据函数定义立即在所有可能的不需要的场景中发生这种情况。
但是,Python返回隐含的None
。改变它会影响依赖于全局行为的任何代码/库,或者给语言添加尴尬的上下文解析需求,因为该功能必须在函数定义内部以及这些函数被使用的地方工作。
相关问题
- 1. Python:返回语句仍然返回没有从函数
- 2. 即使它有一个返回语句,我的函数仍然返回无
- 3. 函数返回值无返回语句
- 4. jQuery的获取返回404错误,但仍然返回回答
- 5. 返回语句vs不返回语句?
- 6. Meteor.users.findOne()返回undefined,但它仍然工作
- 7. SQL返回数据,但相应的LINQ语句返回没有数据
- 8. 如果语句返回值没有在Android中返回
- 9. 检查没有返回语句的函数的返回值
- 10. 如果select语句没有返回任何行,返回什么?
- 11. ColdFusion如果语句值没有返回true,而是返回false
- 12. 当没有“返回”语句时,bash函数返回什么?
- 13. 如果语句没有返回结果
- 14. 变量没有从switch语句返回
- 15. Swift:flatmap仍然返回可选
- 16. window.open()仍然返回null
- 17. Isnull仍然返回空值
- 18. django authenticate()仍然是全部返回无
- 19. 为什么它仍然提示我缺少返回语句
- 20. 返回语句是可用的,编译器仍然要求它
- 21. 已经返回redirecttoaction但仍然不是所有代码路径都返回值
- 22. Java返回语句
- 23. 返回if语句
- 24. 语句返回undefined
- 25. where子句没有返回
- 26. 在case case语句中返回列名,但没有涉及表
- 27. php if && || OR语句没有任何返回......但单独做
- 28. 返回语句语法
- 29. 函数返回的std :: string崩溃没有return语句,不像它返回int的函数没有return语句
- 30. 无法在返回语句中返回xml
函数必须返回* something *,即使它只是一个隐含的'None'。我认为没有办法解决这个问题。 – Aurora0001
默认情况下,没有返回语句的Python函数返回'None'。就是这样。你觉得它会返回什么?如果你不想返回任何东西,我建议你将它留在返回* Nothing中,如'None'中。这是做这件事的惯用方式。 – idjaw
你的意思是什么“不归还任何东西”?这将如何工作? (例如,'x = foo()'会怎么做?) – melpomene