2024-09-21 17:17:09 发布
网友
我的功能只是修改列表。但是,我不希望它返回任何东西,甚至不返回“None”,但它返回“None”。有办法解决这个问题吗?你知道吗
TL;DR:不,在Python中没有一种有意义的方法来处理None的默认返回。
None
在Python中,返回隐含的None最接近于“不返回任何内容”。这与例如C不同,在C中,void函数声明将阻止对变量的赋值。这种行为是Python语言一致性的一部分,因为
void
x = MyFunc()
必须在x中定义并存储一些值。类似地,使用例如
x
OtherFunc( 1, 2, MyFunc() )
或者
[ 1, 2, 3, MyFunc() ]
MyFunc() * 3
所有人都需要有一些行为。使用None的隐含返回值,这些问题在Python中以特定的方式得到解决。你知道吗
它不必是这样的-原则上,如果有人要重新设计Python的这一部分,可能会有一些不同的自洽方法-例如,Python可以有一些特殊的值,这些值只能从函数调用中返回,如果发现它在任何其他可能引发一个错误。值得注意的是,在某些情况下,例如3 * MyFunc(),None的返回值将以这种方式引发错误-但是您不能依赖于在基于函数定义的所有可能不需要的场景中立即发生这种情况。你知道吗
3 * MyFunc()
但是,Python返回隐式的None。更改此选项将影响以全局方式依赖于该行为的任何代码/库,或者为该语言添加尴尬的上下文解析需求,因为该特性必然需要在函数定义内部以及在何处使用这些函数。你知道吗
TL;DR:不,在Python中没有一种有意义的方法来处理
None
的默认返回。在Python中,返回隐含的
None
最接近于“不返回任何内容”。这与例如C不同,在C中,void
函数声明将阻止对变量的赋值。这种行为是Python语言一致性的一部分,因为必须在
x
中定义并存储一些值。类似地,使用例如或者
或者
所有人都需要有一些行为。使用
None
的隐含返回值,这些问题在Python中以特定的方式得到解决。你知道吗它不必是这样的-原则上,如果有人要重新设计Python的这一部分,可能会有一些不同的自洽方法-例如,Python可以有一些特殊的值,这些值只能从函数调用中返回,如果发现它在任何其他可能引发一个错误。值得注意的是,在某些情况下,例如
3 * MyFunc()
,None
的返回值将以这种方式引发错误-但是您不能依赖于在基于函数定义的所有可能不需要的场景中立即发生这种情况。你知道吗但是,Python返回隐式的
None
。更改此选项将影响以全局方式依赖于该行为的任何代码/库,或者为该语言添加尴尬的上下文解析需求,因为该特性必然需要在函数定义内部以及在何处使用这些函数。你知道吗相关问题 更多 >
编程相关推荐