iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: http://uk.wikipedia.org/wiki/IronPython
IronPython — Вікіпедія Перейти до вмісту

IronPython

Матеріал з Вікіпедії — вільної енциклопедії.
IronPython

ТипІнтерпретатор мови програмування 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 — одна з основних реалізацій мови Python, призначена для платформи Microsoft .NET або Mono. Повністю написаний на C#, і є транслятором компілюючого типу.

В 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

[ред. | ред. код]

Є деякі відмінності між реалізацією мови програмування 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]

Примітки

[ред. | ред. код]
  1. IronPython license (ironpython.codeplex.com). Архів оригіналу за 8 липня 2011. Процитовано 31 липня 2015. [Архівовано 2011-07-08 у Wayback Machine.]
  2. 2.0.3. ironpython.codeplex.com. Архів оригіналу за 26 грудня 2017. Процитовано 16 жовтня 2010. [Архівовано 2017-12-26 у Wayback Machine.](англ.)
  3. 2.6. ironpython.codeplex.com. Архів оригіналу за 13 січня 2018. Процитовано 16 жовтня 2010. [Архівовано 2018-01-13 у Wayback Machine.](англ.)
  4. 2.7. ironpython.codeplex.com. Архів оригіналу за 2 січня 2018. Процитовано 12 березня 2011. [Архівовано 2018-01-02 у Wayback Machine.](англ.)
  5. 2.7.1. ironpython.codeplex.com. Архів оригіналу за 26 грудня 2017. Процитовано 30 грудня 2011. [Архівовано 2017-12-26 у Wayback Machine.](англ.)
  6. 2.7.2.1. ironpython.codeplex.com. Архів оригіналу за 26 грудня 2017. Процитовано 24 березня 2012. [Архівовано 2017-12-26 у Wayback Machine.](англ.)
  7. 2.7.4. ironpython.codeplex.com. Архів оригіналу за 16 січня 2018. Процитовано 7 грудня 2014. [Архівовано 2018-01-16 у Wayback Machine.](англ.)
  8. 2.7.5. ironpython.codeplex.com. Архів оригіналу за 26 січня 2018. Процитовано 7 грудня 2014. [Архівовано 2018-01-26 у Wayback Machine.](англ.)
  9. Differences between IronPython 1.0 and CPython 2.4.3. Microsoft. 18 грудня 2007. Архів оригіналу за 1 серпня 2009. Процитовано 9 лютого 2008.(англ.)
  10. Foord, Michael. New Project: Implementing .NET Libraries in Pure Python. Архів оригіналу за 30 серпня 2008. Процитовано 9 лютого 2008. [Архівовано 2017-04-28 у Wayback Machine.](англ.)
  11. Eby, Phillip. Children of a Lesser Python. Архів оригіналу за 21 грудня 2019. Процитовано 9 липня 2008.(англ.)

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]