Top-Fragen
Zeitleiste
Chat
Kontext
IronPython
Implementierung der Programmiersprache Python für die Common-Language-Infrastructure Aus Wikipedia, der freien Enzyklopädie
Remove ads
IronPython ist eine Implementierung der Programmiersprache Python für die Common Language Infrastructure (CLI) bzw. damit kompatible Laufzeitumgebungen wie z. B. Mono.
Remove ads
IronPython ist vollständig in C# geschrieben und wird im Rahmen der Apache-Lizenz 2.0 bereitgestellt. IronPython ist im Sprachumfang kompatibel zu CPython 2.7, wird aber ohne die Python-Standard-Bibliothek ausgeliefert. Es lassen sich jedoch sämtliche Module einer CPython-Installation laden, solange diese keine kompilierten Bibliotheken benötigen. Zugriff auf .NET-Assemblies ist uneingeschränkt möglich.
In IronPython erstellte Programme lassen sich sowohl interpretieren als auch just-in-time in ausführbare Dateien übersetzen. Wie in .NET üblich, kann man mit IronPython auf Bibliotheken zugreifen, die in anderen .NET-Sprachen geschrieben wurden, ebenso wie diese mit Einschränkungen auf in IronPython geschriebene Bibliotheken zugreifen können.
Die IronPython-Umgebung kann als eine Skriptsprache zum Automatisieren einer .NET-Anwendung genutzt werden. Dabei wird die Laufzeitumgebung in die .NET-Anwendung eingebunden. Es können beliebige Objekte an das Skript übergeben werden, was z. B. für Spieleerweiterungen oder Plug-in-Entwicklungen sinnvoll ist.
Remove ads
Beispiele
Zusammenfassung
Kontext
Eine Ausgabe ohne .NET-Bibliothek:
print "Hallo Welt!"
Das gleiche Beispiel, diesmal mit einer „internen“ .NET-Bibliothek:
from System import Console
Console.WriteLine("Hallo Welt!")
Und einmal mit Hilfe einer „externen“ .NET-Bibliothek, wobei die MyLib.dll in einer beliebigen anderen .NET-Sprache (z. B. C#, Visual Basic .NET oder C++/CLI) geschrieben sein kann:
import clr
clr.AddReferenceToFile("MyLib.dll")
from MyLib import Out
Out.Print("Hallo Welt!")
IronPython in C# einbinden (z. B. als Taschenrechner):
using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
public class Eval
{
public static void Main(string[] args)
{
ScriptEngine se = Python.CreateEngine();
Console.WriteLine(se.Execute(args[0]));
}
}
Angenommen das C#-Programm liegt als eval.exe kompiliert vor und die IronPython-Laufzeitbibliotheken IronPython.dll und IronMath.dll (z. B. in demselben Verzeichnis) sind vorhanden, können beliebige Python-Ausdrücke ausgewertet werden:
C:\> eval.exe 2+2
4
C:\> eval.exe 2**3
8
C:\> eval.exe 5%3
2
In einem Tutorial, das mit dem IronPython-Paket mitgeliefert wird, ist ein Beispiel zu sehen, wie IronPython als Skriptsprache für C# benutzt werden kann.
Remove ads
Siehe auch
Einzelnachweise
Weblinks
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads