from module_name import *
例如:
from math import * sqrt(2) # 而不是math.sqrt(2) ceil(2.7) # 代替math.ceil(2.7)
这会将math模块中定义的所有名称都导入到全局名称空间中,而不是以下划线开头的名称(这表明编写者认为该名称仅供内部使用)。
警告:如果已经定义或导入了具有相同名称的函数,则它将被覆盖。几乎总是仅导入特定的名称from math import sqrt, ceil是推荐的方式:
def sqrt(num): print("I don't know what's the square root of {}.".format(num)) sqrt(4) # 输出:我不知道4的平方根是多少。 from math import * sqrt(4) # 输出:2.0
加星标的导入仅允许在模块级别进行。尝试在类或函数定义中执行它们会导致SyntaxError。
def f(): from math import *
和
class A: from math import *
都失败了:
SyntaxError: import * only allowed at module level