Fonction __import__() de Python
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'>
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
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.
Fonctions intégrées de Python3
Autres extensions