以下代码之间有什么区别:
foo = list()
和
foo = []
Python建议采用一种做事方式,但有时似乎不止一种。
一个是函数调用,一个是文字:
>>> import dis >>> def f1(): return list() ... >>> def f2(): return [] ... >>> dis.dis(f1) 1 0 LOAD_GLOBAL 0 (list) 3 CALL_FUNCTION 0 6 RETURN_VALUE >>> dis.dis(f2) 1 0 BUILD_LIST 0 3 RETURN_VALUE
使用第二种形式。它更具Python风格,并且可能更快(因为它不涉及加载和调用单独的函数)。