相关疑难解决方法(0)

将*splat和**splatty-splat运算符更改为我的对象

你如何重写拆包语法的结果*obj**obj

例如,你能以某种方式创建一个thing行为如下的对象:

>>> [*thing]
['a', 'b', 'c']
>>> [x for x in thing]
['d', 'e', 'f']
>>> {**thing}
{'hello world': 'I am a potato!!'}
Run Code Online (Sandbox Code Playgroud)

注意:迭代通过__iter__("for x in thing")返回*splat unpack中的不同元素.

我一看operator.muloperator.pow,但这些功能只关心用途有两个操作数,如a*ba**b,而且似乎无关的图示操作.

python splat iterable-unpacking double-splat

12
推荐指数
1
解决办法
1842
查看次数

如何在Python中正确实现映射协议?

我正在使用python-spidermonkey,它在内部使用PyMapping_Check来识别被用作全局的对象(在rt.new_context(全局)中)是否实现了映射协议.(这基本上是传递给python-spidermonkey的字典,因此javascript对python变量的访问权限有限.)

我在Python中找不到映射协议的官方定义,所以我一直在使用反复试验来确定其中的内容.有官方参考吗?

python

11
推荐指数
1
解决办法
3327
查看次数

标签 统计

python ×2

double-splat ×1

iterable-unpacking ×1

splat ×1