Уже несколько лет существует проект IronPython на GotDotNet.com - реализация интерпретируемого языка Python с динамической типизацией для платформы .NET
На данный момент доступна версия 0.9.6
Помимо .NET Framework, IronPython можно запустить используя Mono
и исполнять Python код под различными платформами
Пример использования Windows Forms
(Уже текущая версия позволяет использовать WPF (Avalon))
import sys
sys.LoadAssemblyByName("System.Drawing")
sys.LoadAssemblyByName("System.Windows.Forms")
from System.Windows.Forms import *
from System.Drawing import *
class HelloForm(Form):
def __init__(self):
button = Button()
button.Text = "Button"
button.Location = Point(50, 50)
button.Size = Size(100, 30)
button.Click += self.ClickHandle
self.Controls.Add(button )
def ClickHandle(self, sender, e):
for control in self.Controls:
MessageBox.Show(control.ToString())
Application.Run(HelloForm())
В IronPython доступны доступны генерики и прочие нововведения .NET Framework 2.0
Сам язык не притерпел существенных изменений, и возможности исходного языка поддерживаются
Для примера стоит отметить словари, кортежи, очереди...
Пример кортежа
tuple = 10, "String", 30.64, 'c'
result = tuple[0] + tuple[2]
MessageBox.Show(result.ToString())
http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20051110PythonJH/manifest.xml