2024-09-28 21:03:34 发布
网友
这两种进口货有什么区别吗?除了进口范围之外。你知道吗
内部或外部导入 当然,如果外部导入已经存在,那么内部导入将是无用的
import os class foo(object): def bar(self): import os path = os.path.join('foo', 'bar')
他们在不同的时间被处决。函数中的函数只有在方法执行时才会执行,并且每次调用方法时都会执行。这通常不是问题(通常情况下,模块只加载一次,您只会得到对同一对象的另一个引用),但有些人可能会发现它在哲学上是令人反感的,如果其他代码使用sys.modules或导入钩子做蠢事,它可能会有不同的行为。你知道吗
sys.modules
除了模块级之外,任何地方都有例外:from ... import *这在python3中是非常不受欢迎的,甚至是非法的。你知道吗
from ... import *
嗯id明智地说,对象是相同的,这意味着它们都引用相同的模块对象。你知道吗
id
在方法中导入它似乎没有意义。由于os已经在模块的global范围内,因此无论导入os还是不导入bar都不会有什么区别。是的,如果您这样做并且bar是多次调用的函数,那么import os将对性能产生轻微影响。你知道吗
os
global
bar
import os
他们在不同的时间被处决。函数中的函数只有在方法执行时才会执行,并且每次调用方法时都会执行。这通常不是问题(通常情况下,模块只加载一次,您只会得到对同一对象的另一个引用),但有些人可能会发现它在哲学上是令人反感的,如果其他代码使用
sys.modules
或导入钩子做蠢事,它可能会有不同的行为。你知道吗除了模块级之外,任何地方都有例外:
from ... import *
这在python3中是非常不受欢迎的,甚至是非法的。你知道吗嗯
id
明智地说,对象是相同的,这意味着它们都引用相同的模块对象。你知道吗在方法中导入它似乎没有意义。由于
os
已经在模块的global
范围内,因此无论导入os
还是不导入bar
都不会有什么区别。是的,如果您这样做并且bar
是多次调用的函数,那么import os
将对性能产生轻微影响。你知道吗相关问题 更多 >
编程相关推荐