Python中是不是有类似于Perl中的“想要”的东西
Posted
技术标签:
【中文标题】Python中是不是有类似于Perl中的“想要”的东西【英文标题】:Is there something in Python that is similar to "want" in PerlPython中是否有类似于Perl中的“想要”的东西 【发布时间】:2021-10-15 23:46:11 【问题描述】:在 Perl 中,有一种方法可以找出调用函数的上下文 - 无论是列表还是标量上下文 - 甚至是更精细的粒度。请参阅wantarray 和want module。
Python中有类似的东西吗?
【问题讨论】:
【参考方案1】:不,Python 没有 Perl 的标量/数组区别。值只是绑定到名称,而不考虑值的类型。
我能想到的最接近的类比是
x += y
这被取消为x.__iadd__(y)
,因此__iadd__
方法可以根据需要检查其参数y
的类型。例如,即使list.__iadd__
没有这样做,理论上它也可以被定义为允许像
x = []
x += 9 # x == [9]; append a non-iterable argument
x += [11, 12] # x == [9, 11, 12]; extend with an iterable argument
【讨论】:
有趣!我会更多地研究这个脱糖的东西。它是否也适用于某处的分配? 啊!我喜欢desugared
这个词。我必须使用它!
“语法糖”是指并非绝对必要的语法;它可以被替换(“去糖”)而不影响语义。例如,x += y
等价于 x = x + y
,如果未定义 x.__iadd__
,则语法的含义取决于 x
的类型,而不仅仅是 6 个字符的字符串 x += y
。
(我的意思是我觉得我在这里用的太松了。)以上是关于Python中是不是有类似于Perl中的“想要”的东西的主要内容,如果未能解决你的问题,请参考以下文章
想要在 PHP 中传递值列表(如在 Perl 中),而不是引用数组
有没有类似于 Perl 的 Archive::Extract 的 Python 包?
Python 是不是有类似于 R 包预测中的 nnetar 的模型?