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