Навчальний посібник містить приклади програм мовою Python з коментарями. Розглянуто основи програмування, стандартну бібліотеку та сторонні пакети для технічних та наукових обчислень. Призначено для вивчення дисциплін «Об’єктно-орієнтоване програмування» та «Інформаційне забезпечення САПР», а також для виконання курсових і магістерських робіт під час підготовки фахівців першого (бакалаврського) та другого (магістерського) рівнів освіти за спеціальністю 131 – Прикладна механіка.
Author(s): Копей В. Б.
Edition: 1
Publisher: ІФНТУНГ
Year: 2019
Language: Ukrainian
Pages: 272
City: Івано-Франківськ
Tags: Python
Вступ
Розділ 1. Мова Python та її стандартна бібліотека
Найпростіша програма
Програма для додавання двох чисел
Числові типи даних
Оператори числових типів
Оператор умови if
Оператор циклу for
Оператор циклу while
Оператори break і continue
Послідовність кортеж. Оператори для усіх послідовностей
Послідовність рядок
Юнікод-рядки
Юнікод-літерали в Python 2
Послідовність список
Словник. Оператори для словників
Множина
Функції
Функції з довільною кількістю аргументів
lambda-функції
Рекурсивні функції
Замикання
Обробка виняткових ситуацій
Файли
Модулі
Файл c:\1\main.py:
Файл c:\1\module1.py:
Файл c:\1\package1\__init__.py:
Файл c:\1\package1\module1.py:
Файл c:\1\package1\module2.py:
Математичні функції
Вбудовані функції для роботи з послідовностями
Генератори
Співпрограми
Ітератори
Об’єкти
Класи
Клас із конструктором
Успадкування і поліморфізм
Атрибути класу і атрибути екземпляра
Статичні методи та методи класу
Властивості
Перевантаження операторів
Контейнери
Менеджери контексту і інструкція with
Метакласи
Декоратори
Декоратори з аргументом
Декоратори класу
Інтроспекція
inspect – перегляд об’єктів часу виконання
copy – копії об’єктів
itertools – функції для ефективних ітерацій
re – операції з використанням регулярних виразів
decimal – дійсні числа довільної точності
time – визначення і конвертування значень часу
datetime – робота з датою і часом
calendar – робота з календарем
pdb – відлагоджувач Python
timeit – тривалість виконання невеликих частин коду
logging – ведення журналу
pickle – серіалізація об’єктів Python
shelve – збереження об’єктів Python
anydbm – універсальний доступ до DBM баз даних
sqlite3 – DB-API 2.0 інтерфейс для баз даних SQLite
csv – читання і запис файлів CSV
tarfile – читання і запис файлів архіву tar
zipfile – робота з ZIP-архівами
zlib – сумісне з gzip стиснення даних
sys – системні параметри і функції
os – файлова система
shutil – високорівневі операції з файлами
os – створення і керування процесами
subprocess – керування підпроцесами
subprocess – міжпроцесова взаємодія
main.py – модуль клієнта
server.py – модуль сервера
thread – створення багатьох потоків керування
threading – високорівневий інтерфейс потоків
multiprocessing – підтримка багатох процесів
multiprocessing – запуск паралельних задач
multiprocessing – міжпроцесова взаємодія
socket – низькорівневий мережевий інтерфейс
server.py – модуль сервера
client.py – модуль клієнта
socketFileIO.py – читання і запис об’єктів Python через сокет
SocketServer – каркас для мережевих серверів
CGI HTTP сервер
CGI-програма simple.py – генерація форми запиту
CGI-програма get_post.py - обробка запитів GET і POST
WSGI сервер
urllib2 – запити до HTTP серверів
xml.dom.minidom – мінімальна реалізація DOM
xml.etree.ElementTree – ElementTree XML API
HTMLParser – простий парсер HTML і XHTML
Tkinter – проста програма з графічним інтерфейсом
Tkinter – основні класи
ttk.Treeview – дерево елементів
Вбудовування інтерпретатора Python у C++ програму
ctypes – виклик зовнішніх C-функцій
Розширення Python мовою C++
Розділ 2. Сторонні бібліотеки Python
IPython – інтерактивна командна оболонка
Jupyter Notebook – інтерактивні документи
Matplotlib – процедурний API pyplot
Matplotlib – об’єктно-орієнтований API
Matplotlib – додаткові параметри графіків
Matplotlib – інші типи діаграм
Matplotlib – інтерактивна побудова графіків
Bokeh – інтерактивна візуалізація
Bokeh – cерверна програма
numpy – робота з масивами
numpy.linalg – лінійна алгебра
numpy.random – генератори випадкових чисел
numpy – поліноми
scipy.vectorize – векторизація функцій
scipy – похідна і первісна функції
scipy.integrate – інтегрування
scipy.integrate.odeint – звичайні диференціальні рівняння
scipy.integrate.odeint – модель польоту снаряду
scipy.integrate.odeint – модель коливань, що згасають
scipy.interpolate – інтерполяція
scipy.optimize.fsolve – розв’язування рівнянь
scipy.optimize.root – розв’язування систем рівнянь
scipy.optimize.curve_fit – регресійний аналіз
scipy.optimize.curve_fit – множинна регресія
scipy.optimize.fminbound – оптимізація функції однієї змінної з границями
scipy.optimize.fminbound – локальна оптимізація невідомої функції
scipy.optimize.fmin_l_bfgs_b – оптимізація з границями методом L-BFGS-B
scipy.optimize.differential_evolution – диференціальна еволюція
scipy.optimize.basinhopping – комбінований метод глобальної оптимізації
scipy.stats – випадкові величини
scipy.stats – підгонка кривих і перевірка статистичних гіпотез
scipy.stats.kde – ядрова оцінка густини розподілу
scipy.fftpack дискретне перетворення Фур’є
scipy.fftpack – обернене дискретне перетворення Фур’є
scipy.cluster – кластеризація
pandas – аналіз даних
scikit-learn – машинне навчання
NetworkX – графи
NetworkX – орієнтовані графи, алгоритми на графах
pyDatalog – логічне програмування в Python
Зв’язок з інтерпретатором Prolog
kanren – логічне програмування в Python
python-constraint – задачі виконання обмежень
PIL (Pillow) – робота з растровою графікою
PyOpenGL – прив’язка до OpenGL
pyglet – кросплатформна віконна і мультимедійна бібліотека
pythonOCC – прив’язка до геометричного ядра Open CASCADE Technology
FreeCAD – вільна САПР з Python API
Abaqus/CAE – моделювання методом скінченних елементів
SymPy – символьна математика
Взаємодія з Maple
OMPython – інтерфейс OpenModelica Python
xlwt – створення електронних таблиць Excel
pywin32 – інтерфейс до win32 GUI API
win32com.client – об’єкти Excel
win32com.client – об’єкти Excel з обробкою подій
win32com.client – об'єкти SOLIDWORKS
pyserial – доступ до послідовного порту
pyFirmata – комунікація комп’ютера та Arduino
concurrent.futures – запуск паралельних задач
Dask – розподілені обчислення на чистій Python
Dask.Distributed – розподілені обчислення
PyQt4 – фреймворк Qt в Python
PyQt4 – елементи керування QtGui
PyQt4 – створення елемента керування
PyParsing – зручний синтаксичний аналіз
pymorphy2 – морфологічний аналізатор
pygments – підсвітка синтаксису
pygments – підсвітка синтаксису в Tkinter
lxml – простий і швидкий парсинг XML і HTML
lxml – XSLT трансформації
Bottle – легкий WSGI веб-фреймворк
Розділ 3. Задачі
Перелік використаних джерел