如果这没有任何意义,我很抱歉,我对 Python 很陌生!
通过解释器的测试,我可以看到list()
and []
两者都会产生一个空列表:
>>> list()
[]
>>> []
[]
根据我到目前为止所学到的,创建对象的唯一方法是调用它的构造函数(__init__
),但当我只是输入时我没有看到这种情况发生[]
。所以通过执行[]
,然后 Python 是否将其映射到对list()
?
这两个构造的处理方式完全不同:
>>> import dis
>>> def f(): return []
...
>>> dis.dis(f)
1 0 BUILD_LIST 0
3 RETURN_VALUE
>>> def f(): return list()
...
>>> dis.dis(f)
1 0 LOAD_GLOBAL 0 (list)
3 CALL_FUNCTION 0
6 RETURN_VALUE
>>>
The []
form 使用操作码构造一个列表BUILD_LIST
,而list()
形式调用list
对象的构造函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)