Aller au contenu

Charger un module explicitement

__import__() : accéder au mécanisme d'importation

__import__() intervient dans le fonctionnement de l'instruction import. Son appel direct est rarement nécessaire.

math_module = __import__("math")
print(math_module.sqrt(81))  # 9.0

Pour du code ordinaire, utilisons import math. Pour charger un module dont le nom est déterminé à l'exécution, préférons importlib.import_module() ; avec un nom composé, son comportement est généralement plus intuitif que celui de __import__().

Equivalent en C#

Console.WriteLine(Math.Sqrt(81)); // 9
// Chargement explicite d'une assembly déjà présente dans l'environnement :
Assembly assembly = Assembly.Load(typeof(string).Assembly.GetName());
Console.WriteLine(assembly.GetName().Name);

using introduit une visibilité de noms à la compilation ; il ne correspond pas au chargement d’un module Python à l’exécution. Assembly.Load() illustre le chargement d’une assembly .NET, avec une granularité et un modèle de résolution différents. Ce n’est pas un remplacement de l’import Python.