IronPython
З Вікіпедії, вільної енциклопедії
IronPython — одна з основних реалізацій мови Python, призначена для платформи Microsoft .NET або Mono. Повністю написаний на C#, і є транслятором компілюючого типу.
![]() ![]() | |
Тип | Інтерпретатор мови програмування Python |
---|---|
Розробник | Jim Hugunin, Dino Viehland |
Перший випуск | 5 вересня, 2006 |
Стабільний випуск | 2.7.5 (6 грудня, 2014) |
Платформа | .NET Framework, Mono |
Мова програмування | C Sharp і Python |
Ліцензія | Apache License version 2.0[1] |
Репозиторій | github.com/IronLanguages/ironpython3 |
Вебсайт | ironpython.net |
В IronPython можна використовувати типи .NET. Також можна з .NET коду використовувати IronPython код, з застосуванням хостингу IronPython системи або попередньої збірки IronPython коду.
Версії
- Версія 2.0 вийшла 10 грудня 2008 і оновлена до 2.0.3 23 жовтня 2009.[2] IronPython 2.0.3 сумісний з .NET лише до версії 3.5.
- Версія 2.6 вийшла 11 грудня 2009 і оновлена 12 квітня 2010.[3] IronPython версії 2.6.1 сумісний тільки з .NET фреймворком 4.0.
- Версія 2.7 вийшла 11 грудня 2009 і оновлена 12 квітня 2010.[4]
- Версія 2.7.1 вийшла 21 жовтня 2011.[5]
- Версія 2.7.2.1 вийшла 13 березня 2012. В цій версії додана підтримка бібліотек для формату ZIP, SQLite, і скомпільованих виконуваних файлів.[6]
- Версія 2.7.4 вийшла 7 вересня 2013.[7]
- Версія 2.7.5 вийшла 6 грудня 2014 і в основному відрізнялася від попередньої лише виправленням багів.[8]
Відмінності з CPython
![]() | Цей розділ потребує доповнення. (грудень 2015) |
Є деякі відмінності між реалізацією мови програмування Python у CPython та IronPython.[9] Деякі проекти на IronPython не працюють під CPython.[10] З іншого боку, програми на CPython, які залежать від розширень мови, що реалізуються на C (наприклад NumPy) не сумісні з IronPython.[11]
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>
Приклади
Цей скрипт використовує .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]
Примітки
Див. також
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.