我确实导入了带有名称的模块,然后又不带名称地导入了它,两者似乎都工作正常并且提供了相同的类类型。
>>> from collections import Counter as c
>>> c
<class 'collections.Counter'>
>>> from collections import Counter
>>> Counter
<class 'collections.Counter'>
这在 python 中是如何工作的,单个对象是否指向相同的引用? 另外为什么不覆盖或删除以前的名称导入。
我也不确定术语
最佳答案
使用 python 2.7.13:
>>> from collections import Counter as c
>>> c
<class 'collections.Counter'>
>>> from collections import Counter
>>> Counter
<class 'collections.Counter'>
>>> id(c), id(Counter)
(140244739511392, 140244739511392)
>>> id(c) == id(Counter)
True
是的,c
和Counter
是一样的。引用同一对象的两个变量(名称)。
关于python - 在python中以不同的名称导入模块两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47314905/