Python Language Importare tutti i nomi da un modulo


Esempio

from module_name import *

per esempio:

from math import *
sqrt(2)    # instead of math.sqrt(2)
ceil(2.7)  # instead of math.ceil(2.7)

Ciò importerà tutti i nomi definiti nel modulo math nello spazio dei nomi globale, diversi dai nomi che iniziano con un carattere di sottolineatura (che indica che lo scrittore ritiene che sia solo per uso interno).

Avvertenza : se una funzione con lo stesso nome è già stata definita o importata, verrà sovrascritta . Quasi sempre importando solo nomi specifici from math import sqrt, ceil è il modo consigliato :

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

Le importazioni speciali sono consentite solo a livello di modulo. I tentativi di eseguirli nelle definizioni di classe o funzione producono un SyntaxError .

def f():
    from math import *

e

class A:
    from math import *

entrambi falliscono con:

SyntaxError: import * only allowed at module level