IronPython

IronPython
IronPython
Erscheinungsjahr: 2006
Entwickler: Jim Hugunin, Microsoft
Aktuelle Version: 2.7.0[1]  (12. März 2011)
Betriebssystem: Plattformunabhängig
Lizenz: Apache-Lizenz 2.0
ironpython.net

IronPython ist eine Implementierung der Programmiersprache Python für die Common-Language-Infrastructure (CLI) bzw. damit kompatible Laufzeitumgebungen wie z. B. Mono.

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 (siehe Weblinks) ausgeliefert. Es lassen sich jedoch sämtliche Module einer CPython-Installation laden, solange diese keine kompilierte 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.

Inhaltsverzeichnis

Beispiele

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 evaluiert 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.

Siehe auch

  • Python - Die Programmiersprache Python
  • Jython - Java-Implementierung der Programmiersprache Python.
  • PyPy - Implementierung der Programmiersprache Python in Python selbst.
  • Boo - Implementierung der Python-ähnlichen Programmiersprache Boo für .NET.

Einzelnachweise

  1. IronPython - Release: 2.7.0

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • IronPython — Тип Python Programming Language Interpreter Разработчик Jim Hugunin Аппаратная платформа .NET Framework, Mono Последняя версия 2.7.3 (Июль 7, 2012) Лицензия Apache License version 2.0 …   Википедия

  • IronPython — IronPython(It Run On Net) est une implémentation du langage Python, visant .NET et Mono, créée par Jim Hugunin. La version 1.0 est sortie le 5 septembre 2006. IronPython est écrit entièrement en C#. Il est disponible comme partie de l initiative… …   Wikipédia en Français

  • IronPython — Desarrollador(es) Jim Hugunin www.codeplex.com/IronPython Información general Paradigma multiparadigma: orientado a objeto …   Wikipedia Español

  • IronPython — Infobox Software name = IronPython caption = developer = Jim Hugunin latest release version = 1.1.2 latest release date = August 8, 2008 latest preview version = 2.0 Beta 4 latest preview date = August 6, 2008 operating system = platform = .NET… …   Wikipedia

  • Dynamic Language Runtime — Developer(s) Microsoft Dynamic Language Runtime Team Stable release 1.0 / April 16, 2010 Operating system Microsoft Windows, Debian, Ubuntu Platform …   Wikipedia

  • Python — У этого термина существуют и другие значения, см. Python (значения). Python Класс языка: му …   Википедия

  • Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г …   Википедия

  • Visual Basic .NET — Paradigm(s) Structured, imperative, object oriented and declarative Appeared in 2001 Designed by Micro …   Wikipedia

  • SharpDevelop — Bildschirmfoto der Version 2.0 Basisdaten Entwickler IC#Code Aktuelle Version …   Deutsch Wikipedia

  • Dynamic Language Runtime — La DLR est une surcouche facilitant l implémentation et l interopérabilité des langages dynamiques. La DLR permet de supporter plusieurs langages. Cette technologie est utilisé par Microsoft pour la plateforme .NET et Sun pour son langage java.… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”