Fonction __import__() de Python

Python3 内置函数Fonctions intégrées de Python3


__import__()Il s'agit d'une fonction intégrée de Python utilisée pour importer dynamiquement des modules.

__import__()OuiimportIl s'agit de l'implémentation sous-jacente de l'instruction import, permettant d'importer dynamiquement des modules à l'exécution. Elle est très utile pour des scénarios tels que les systèmes de plugins et le chargement différé.

Définitions de mots: __import__ 是 Python 的内置导入函数。


Syntaxe de base et paramètres

Format de syntaxe

__import__(name, globals=None, locals=None, fromlist=(), level=0)

Description du paramètre

  • Nom du paramètre:
    • Type : String
    • Description : Le nom du module à importer.
  • Paramètre fromlist(facultatif) :
    • Type : Tuple
    • Description : Une liste de sous-modules ou d'attributs à importer depuis le module.

Description de la fonction

  • Valeur de retour: Renvoie l'objet module importé.

Exemples

Exemple 1 : Utilisation de base

Exemple

# Importer dynamiquement un module
os = __import__('os')
print(os.getcwd())  # Sortie : répertoire de travail actuel

# Importer un sous-module
requests = __import__('collections', fromlist=['Counter'])
print(requests.Counter)  # Sortie : <class 'collections.Counter'>

Sortie :

Façons d'importer des modules.

Exemple 2 : import dynamique

Exemple

# Importer un module à partir d'une chaîne
module_name = "json"
mod = __import__(module_name)
print(mod.dumps({"key": "value"}))  # Sortie : {"key": "value"}

# Importer dynamiquement plusieurs modules
modules = ['math', 'random', 'datetime']
for name in modules:
    mod = __import__(name)
    print(f"{name}: {mod.__name__}")

# Import paresseux (chargement à la demande)
def get_module(mod_name):
    return __import__(mod_name)

math_mod = get_module('math')
print(math_mod.sqrt(16))  # Sortie : 4.0

Sortie :

L'import dynamique a diverses utilisations dans des applications pratiques.

__import__()C'est le cœur du mécanisme d'import dynamique de Python.


Python3 内置函数Fonctions intégrées de Python3


Autres extensions