from module_abc import (a, b)
コードを読んでいるときに遭遇しました。それが同等かどうか知りたいのですがfrom module_abc import a,b
?そうでない場合、違いは何ですか?
質問する
167 次
2 に答える
3
それらは同一です:
>>> import dis
>>> def a():
... from module_abc import (a, b)
...
>>> def b():
... from module_abc import a, b
...
>>> dis.dis(a)
2 0 LOAD_CONST 1 (-1)
3 LOAD_CONST 2 (('a', 'b'))
6 IMPORT_NAME 0 (module_abc)
9 IMPORT_FROM 1 (a)
12 STORE_FAST 0 (a)
15 IMPORT_FROM 2 (b)
18 STORE_FAST 1 (b)
21 POP_TOP
22 LOAD_CONST 0 (None)
25 RETURN_VALUE
>>> dis.dis(b)
2 0 LOAD_CONST 1 (-1)
3 LOAD_CONST 2 (('a', 'b'))
6 IMPORT_NAME 0 (module_abc)
9 IMPORT_FROM 1 (a)
12 STORE_FAST 0 (a)
15 IMPORT_FROM 2 (b)
18 STORE_FAST 1 (b)
21 POP_TOP
22 LOAD_CONST 0 (None)
25 RETURN_VALUE
于 2013-03-13T03:12:11.817 に答える
1
いつも同じだと思っていたので、次の行に移動する必要がある場合に備えて、最初のオプションを使用しています(たとえば、インポートするにはクラスが多すぎます)
from moduleA import (ClassA, ClassB, ClassC,
DataA, DataB)
于 2013-03-13T03:09:49.677 に答える