Перейти до вмісту

IronPython

Матеріал з Вікіпедії — вільної енциклопедії.
IronPython
ТипPython Programming Language Interpreter
РозробникJim Hugunin
Стабільний випуск2.7.5 (6 грудня, 2014)
Платформа.NET Framework, Mono
Мова програмуванняC Sharp і Python Редагувати інформацію у Вікіданих
ЛіцензіяApache License version 2.0[1]
Репозиторійgithub.com/IronLanguages/ironpython3
Вебсайтironpython.net

IronPython — одна з основних реалізацій мови Python, призначена для платформи Microsoft .NET або Mono. Повністю написаний на C#, і є транслятором компілюючого типу.

В IronPython можна використовувати типи .NET. Також можна з .NET коду використовувати IronPython код, з застосуванням хостингу IronPython системи або попередньої збірки IronPython коду.

Silverlight

IronPython підтримується на Silverlight. Його можна використати, як скриптовий рушій в браузері, так само, як в JavaScript. Скрипти IronPython передаються, як прості JavaScript-скрипти в <script>-тегах. Після цього можна модифікувати вбудовану розмітку XAML.

Технологія нижче називається Gestalt.

// DLR initiation script.
<script src="http://gestalt.ironpython.net/dlr-latest.js" type="text/javascript"></script>

// Client-side script passed to IronPython and Silverlight.
<script type="text/python">
    window.Alert("Hello from Python")
</script>

Приклади використання IronPython

Цей скрипт використовує .NET фреймворк для виводу простого вікна повідомлення з текстом «Hello World»:

import clr
clr.AddReference("System.Windows.Forms")

from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")

Простий приклад використання графічного інструменту GTK+ в оточенні IronPython:

#!/usr/bin/env ipy
#-*- coding: UTF-8 -*-

import clr
clr.AddReference('gtk-sharp')
import Gtk

def button_clicked(button, args):
    print('Привіт світе!')

def main():
    Gtk.Application.Init()

    window = Gtk.Window('Вікно вітання')
    window.SetDefaultSize(240, 180)
    window.DeleteEvent += lambda w, a: Gtk.Application.Quit()

    button = Gtk.Button('Натисни мене')
    button.Clicked += button_clicked
    button.Show()

    window.Add(button)
    window.Present()

    Gtk.Application.Run()

if __name__ == '__main__':
    main()

Наступний IronPython скрипт керує об'єктами .NET.

from BookService import BookDictionary
 
booksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks() 
                                    if "Booker Prize" in book.Author.MajorAwards]

Примітки

Див. також

Посилання