Мова програмування Python. Концепції, механізми та приклади використання

Python як інтерпретована об'єктно-орієнтована мова програмування високого рівня з динамічною семантикою, оцінка її головних переваг та недоліків, загальна характеристика та можливості, сфери та тенденції застосування на сьогодні. Графічні бібліотеки.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 09.06.2012
Размер файла 51,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

code = self.code + [(bp.RETURN_VALUE, None)]
# додаємо байтокод повернення
oc = self.ocode
# Створюємо об'єкт коду з байтокода та іншої інформації
bin_code = byteplay. Code (code,
oc.freevars,
oc.args,
oc.varargs,
oc.varkwargs,
oc.newlocals,
«<just_code_%s>«% Id (self),
«<auto_gen_%s>«% Id (self),
0,
«Auto_generated code»)
# Конструюємо нову функцію з об'єкта коду
self.func = new.function (bin_code.to_code(), globals())
# Після цієї операції для всіх засобів інтроспекції
# створена функція буде виглядати як оригінальна
self.func = functools.update_wrapper (self.func, self.ofunc)
return self.func
# Нижче представлено тестування швидкості об'єктів FastFunctor і SlowFunctor
# З IPython рядки, що починаються з «In [XX]:» вводяться,
# решта - виведення інтерпретатора
In [1]: import fastfunctor
In [2]: func = lambda x: x + 1 # Створюємо дуже просту функцію
In [3]: vl = 1 # Змінна, для запобігання оптимізації
In [4]: functor = fastfunctor. Functor(func)
In [5]:%timeit (functor + functor + 1) (vl) # Тестуємо «лобовий» спосіб
1000 loops, best of 3: 661 mks per loop # Дуже повільно
In [6]: functor2 = (functor + functor + 1) # Конструюємо функтор один раз
In [7]:%timeit functor2 (vl) # та тестуємо тільки безпосередньо виклик
100000 loops, best of 3: 4.52 mks per loop # Значно краще
In [8]: functor3 = (functor + functor + 1).Fast()
# Отримуємо результуючу функцію
In [9]:%timeit functor3 (vl)
1000000 loops, best of 3: 1.42 mks per loop
In [10]: def of (vl): return x(vl) + x(vl) + 1 # Створюємо функцію «вручну»
In [11]:%timeit of (vl)
1000000 loops, best of 3: 1.42 mks per loop # Швидкість повністю збігається зі
# швидкістю функтора
In [12]: sfunctor = SlowFunctor(func) # Проста реалізація функтору
In [13]: sfunctor = sfunctor + sfunctor + 1 #
In [14]:%timeit sfunctor(vl) #
100000 loops, best of 3: 12.6 mks per loop
# приблизно в 9 разів повільніша, ніж статичний варіант

Наведені значення часу слід розглядати тільки в порівнянні один з одним.

ipython - розширення інтерпретатора Python для інтерактивної роботи.

Використовуючи цю техніку, можна створити повноцінний функтор, додавши функції для інших операцій (__sub__, __div__ та інші) та розширивши його на випадок декількох вхідних функцій з різними аргументами.

Транспонування матриці

Приклад лаконічної реалізації операції транспонування матриць з використанням парадигми функціонального програмування.

from pprint import pprint

# модуль pprint використовується для зручного виведення на екран

matrix = [[0.5, 0, 0, 0, 0],
[1, 0.5, 0, 0, 0],
[1, 1, 0.5, 0, 0],
[1, 1, 1, 0.5, 0],
[1, 1, 1, 1, 0.5]]
matrix_t = list (zip(*matrix)) # безпосередньо транспонування

pprint(matrix)

pprint (matrix_t)

Виведення:

[[0.5, 0, 0, 0, 0],
[1, 0.5, 0, 0, 0],
[1, 1, 0.5, 0, 0],
[1, 1, 1, 0.5, 0],

[1, 1, 1, 1, 0.5]]

[[0.5, 1, 1, 1, 1],
[0, 0.5, 1, 1, 1],
[0, 0, 0.5, 1, 1],
[0, 0, 0, 0.5, 1],

[0, 0, 0, 0, 0.5]]

Множення двох матриць

import os
# Введення матриць

matrixA = [[1, 2, -1], [3, 4, 0], [-1, 2, -2]]

matrixB = [[3, -2], [1,0], [4, -3]]
# Функція множення матриць
def mult (a, b):
# Створення матриці, в яку запишемо результат
c = []
# Перевірка вимірності матриць
if len (a[0])!= len(b):
print 'Матриці мають невірні вимірності'
else:
# Заповнення матриці нулями
c = [[0 for i in range (len(b[0]))] for j in range (len(a))]
# Процес множення матриць
for i in range (len(a)):
for j in range (len(b[0])):
for r in range (len(a)):
c[i] [j] += a[i] [r] * b[r] [j]
# Виведення результатів
for lines in c: print lines
if __name__ == '__main__':
mult (matrixA, matrixB)
os.system («PAUSE»)

Перелік використаної літератури

python програмування інтегрований графічний

1. David Beazley, Guido Van Rossum. Python: Essential Reference. New Riders Publishing, 1999

2. Martin C. Brown. Python: The Complete Reference. McGraw-Hill Professional Publishing, 2001

3. Wesley J. Chun. Core Python Programming. Prentice Hall PTR, 2000

4. Alan Gauld. Learn to Program Using Python: A Tutorial for Hobbyists, Self-Starters, and Those Who Want to Learn the Art of Programming. Addison-Wesley Professional, 2001

5. John E. Grayson. Python and Tkinter Programming. Manning Publications Company, 1999

6. Rashi Gupta. Making use of Python. Wiley, 2002

7. Mark Hammond, Andy Robinson. Python Programming on Win32. O'Reilly, 2000

8. Christopher A. Jones, Fred L. Drake. Python & XML. O'Reilly & Associates, 2001

9. Ivan Van Laningham. Teach Yourself Python in 24 Hours. Sams, 2000

10. Amos Latteier, Michel Pelletier. The Zope Book. New Riders Publishing, 2001

11. Frederik Lundh. Python Standard Library. O'Reilly & Associates, 2001

12. A. Sweigart Invent Your Own Computer Games with Python. - 2008-2010. - 436 с. - ISBN 978-0-9821060-1-3

13. Марк Лутц. Программирование на Python, 4-е видання, II том - Переклад з англійської. - СПб.: Символ-Плюс, 2011. - ISBN 978-5-93286-211-7

14. Марк Лутц. Программирование на Python, 4-е видання, I том - Переклад з англійської. - СПб.: Символ-Плюс, 2011. - 992 с - ISBN 978-5-93286-210-0

15. Марк Лутц. Изучаем Python, 4-е видання. - Переклад з англійської. - СПб.: Символ-Плюс, 2010. - 1280 с - ISBN 978-5-93286-159-2

16. Дэвид М. Бизли. Python. Подробный справочник, 4-е видання. - Переклад з англійської. - СПб.: Символ-Плюс, 2010. - 864 с - ISBN 978-5-93286-157-8

17. Марк Саммерфилд. Программирование на Python 3. Подробное руководство. - Переклад з англійської. - СПб.: Символ-Плюс, 2009. - 608 с - ISBN 978-5-93286-161-5

18. Ноа Гифт, Джереми М. Джонс. Python в системном администрировании UNIX и Linux. - Переклад з англійської. - СПб.: Символ-Плюс, 2009. - 512 с - ISBN 978-5-93286-149-3

19. Бизли, Дэвид М. Язык программирования Python. Справочник. - К.: ДиаСофт, 2000. - 336 с. - ISBN 966-7393-54-2, ISBN 0-7357-0901-7

20. Сузи, Р.А. Python. Наиболее полное руководство (+CD). - СПб.: БХВ-Петербург, 2002. - 768 с. - ISBN 5-94157-097-X

21. Сузи Р.А. Язык программирования Python: Учебное пособие. - М.: ИНТУИТ, БИНОМ. Лаборатория знаний, 2006. - 328 с. - ISBN 5-9556-0058-2, ISBN 5-94774-442-2

22. М. Доусон Программируем на Python. - СПб.: Питер, 2012. - 432 с. - ISBN 978-5-459-00314-7

23. С. Шапошникова Основы программирования на Python. Учебник. Вводный курс. - версія 2. - 2011. - 44 с.

24. И.А. Хахаев Практикум по алгоритмизации и программированию на Python. Учебник. - М.: Альт Линукс, 2010. - 126 с. - (Библиотека ALT Linux). - ISBN 978-5-905167-02-7

25. А.Н. Чаплыгин Учимся программировать вместе с Питоном. Учебник. - ревізія 226. - 135 с.

26. Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач и др. Язык программирования Python (не видано, чернетка). - СПб.: АНО «Институт логики». Невский Диалект, 2001. - 454 с.

Размещено на Allbest.ru


Подобные документы

  • Об'єктно-орієнтована мова Python - сучасна мова програмування, проста у вивченні та використанні. Наявність повної стандартної бібліотеки. Середовища програмування на Python. Механізм функціонування інтерпретатора. Колекції даних, комбіновані оператори.

    презентация [753,2 K], добавлен 06.02.2014

  • Аналіз предметної області та відомих реалізацій гри 2048. Універсальна мова моделювання UML в процесі проектування гри. Розробка алгоритмів функціонування модулів гри "2048". Оператори мови програмування Python. Особливості середовища Visual Studio.

    курсовая работа [1,2 M], добавлен 17.02.2021

  • Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.

    курсовая работа [510,9 K], добавлен 14.03.2013

  • Ведення обліку даних, що поступають на вхід стандартного інтерфейсу RS-232(COM-порт). Програма для графічного відображення вхідних даних у вигляді графіку та збереження отриманих даних. Візуальна об'єктно-орієнтована мова програмування високого рівня.

    дипломная работа [292,4 K], добавлен 07.06.2010

  • Особливості редагування за допомогою текстового редактора NotePad вхідного файлу. C++ як універсальна мова програмування, знайомство с функціями. Характеристика графічних засобів мови С. Аналіз основних понять об’єктно-орієнтованого програмування.

    курсовая работа [123,3 K], добавлен 14.03.2013

  • Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.

    курсовая работа [102,5 K], добавлен 14.03.2013

  • Загальні принципи побудови заданої системи, її внутрішня структура та стандарти, основні етапи розробки та сучасні тенденції, оцінка функціональності. Магістраль крейта. Команди та програмування в системі КАМАК, оцінка її головних переваг і недоліків.

    курсовая работа [33,7 K], добавлен 16.12.2015

  • Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.

    курсовая работа [502,5 K], добавлен 01.04.2016

  • Галузі застосування та принцип роботи мови програмування "Пролог". Керування процесом пошуку рішень, типи даних та використання списків. Рекурсивні процедури та цикли за допомогою пошуку з поверненням. Виконання арифметичних та логічних операцій.

    курс лекций [99,7 K], добавлен 06.07.2011

  • Мова C++ є як одна з найпоширеніших сучасних мов програмування. Базові засоби мови С++, її специфічні риси. Технологія складу програм, специфіка організації процесу програмування. Модульне програмування. Особливості об’єктно-орієнтованого програмування.

    курсовая работа [49,6 K], добавлен 26.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.