從模組匯入所有名稱
from module_name import *
例如:
from math import *
sqrt(2) # instead of math.sqrt(2)
ceil(2.7) # instead of 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)
# Output: I don't know what's the square root of 4.
from math import *
sqrt(4)
# Output: 2.0
僅在模組級別允許加星標的匯入。嘗試在類或函式定義中執行它們會導致 SyntaxError
。
def f():
from math import *
和
class A:
from math import *
都失敗了:
SyntaxError: import * only allowed at module level