К65 |
Копей, В. Б. Мова програмування Python для інженерів і науковців [Текст] : навч. посіб. / В. Б. Копей. – Івано-Франківськ : ІФНТУНГ, 2019. – 267 с. : табл. – (Каф. комп'ютеризованого машинобудування). – 263-267.
Навчальний посібник містить приклади програм мовою Python з коментарями. Розглянуто основи програмування, стандартну бібліотеку та сторонні пакети для технічних та наукових обчислень. Призначено для вивчення дисциплін "Об'єктно-орієнтоване програмування" та "Інформаційне забезпечення САПР", а також для виконання курсових і магістерських робіт під час підготовки фахівців першого (бакалаврського) та другого (магістерського) рівнів освіти за спеціальністю 131 - Прикладна механіка.
ЗМІСТ
ВСТУП 9
РОЗДІЛ 1. МОВА PYTHON ТА ЇЇ СТАНДАРТНА БІБЛІОТЕКА 12
Найпростіша програма 12
Програма для додавання двох чисел 12
Числові типи даних 12
Оператори числових типів 13
Оператор умови if 15
Оператор циклу for 16
Оператор циклу while 16
Оператори break і continue 16
Послідовність кортеж. Оператори для усіх послідовностей 17
Послідовність рядок 18
Юнікод-рядки 20
Юнікод-літерали в Python 2 20
Послідовність список 20
Словник. Оператори для словників 22
Множина 23
Функції 24
Функції з довільною кількістю аргументів 25
lambda-функції 25
Рекурсивні функції 25
Замикання 26
Обробка виняткових ситуацій 26
Файли 27
Модулі 29
Файл c:\1\main.py: 29
Файл c:\1\module1.py: 30
Файл c:\1\package1\__init__.py: 30
Файл c:\1\package1\module1.py: 30
Файл c:\1\package1\module2.py: 31
Математичні функції 31
Вбудовані функції для роботи з послідовностями 32
Генератори 33
Співпрограми 34
Ітератори 35
Об'єкти 36
Класи 36
Клас із конструктором 37
Успадкування і поліморфізм 38
Атрибути класу і атрибути екземпляра 39
Статичні методи та методи класу 40
Властивості 41
Перевантаження операторів 42
Контейнери 43
Менеджери контексту і інструкція with 44
Метакласи 45
Декоратори 47
Декоратори з аргументом 47
Декоратори класу 48
Інтроспекція 49
inspect - перегляд об'єктів часу виконання 51
copy - копії об'єктів 53
itertools - функції для ефективних ітерацій 54
re - операції з використанням регулярних виразів 56
decimal - дійсні числа довільної точності 63
time - визначення і конвертування значень часу 64
datetime - робота з датою і часом 65
calendar - робота з календарем 66
pdb - відлагоджувач Python 67
timeit - тривалість виконання невеликих частин коду 68
logging - ведення журналу 68
pickle - серіалізація об'єктів Python 69
shelve - збереження об'єктів Python 70
anydbm - універсальний доступ до DBM баз даних 71
sqlite3 - DB-API 2.0 інтерфейс для баз даних SQLite 71
csv - читання і запис файлів CSV 72
tarfile - читання і запис файлів архіву tar 73
zipfile - робота з ZIP-архівами 74
zlib - сумісне з gzip стиснення даних 75
sys - системні параметри і функції 75
os - файлова система 77
shutil - високорівневі операції з файлами 78
os - створення і керування процесами 78
subprocess - керування підпроцесами 79
subprocess - міжпроцесова взаємодія 81
main.py - модуль клієнта 81
server.py - модуль сервера 81
thread - створення багатьох потоків керування 82
threading - високорівневий інтерфейс потоків 83
multiprocessing - підтримка багатох процесів 85
multiprocessing - запуск паралельних задач 86
multiprocessing - міжпроцесова взаємодія 86
socket - низькорівневий мережевий інтерфейс 87
server.py - модуль сервера 87
client.py - модуль клієнта 89
socketFileIO.py - читання і запис об'єктів Python через сокет 89
SocketServer - каркас для мережевих серверів 90
CGI HTTP сервер 91
CGI-програма simple.py - генерація форми запиту 93
CGI-програма get_post.py - обробка запитів GET і POST 94
WSGI сервер 95
urllib2 - запити до HTTP серверів 98
xml.dom.minidom - мінімальна реалізація DOM 100
xml.etree.ElementTree - ElementTree XML API 102
HTMLParser - простий парсер HTML і XHTML 105
Tkinter - проста програма з графічним інтерфейсом 107
Tkinter - основні класи 108
ttk.Treeview - дерево елементів 112
Вбудовування інтерпретатора Python у C++ програму 116
ctypes - виклик зовнішніх C-функцій 117
Розширення Python мовою C++ 119
РОЗДІЛ 2. СТОРОННІ БІБЛІОТЕКИ PYTHON 121
IPython - інтерактивна командна оболонка 121
Jupyter Notebook - інтерактивні документи 124
Matplotlib - процедурний API pyplot 126
Matplotlib - об'єктно-орієнтований API 127
Matplotlib - додаткові параметри графіків 128
Matplotlib - інші типи діаграм 130
Matplotlib - інтерактивна побудова графіків 134
Bokeh - інтерактивна візуалізація 135
Bokeh - cерверна програма 136
numpy - робота з масивами 137
numpy.linalg - лінійна алгебра 142
numpy.random - генератори випадкових чисел 143
numpy - поліноми 144
scipy.vectorize - векторизація функцій 144
scipy - похідна і первісна функції 145
scipy.integrate - інтегрування 146
scipy.integrate.odeint - звичайні диференціальні рівняння 147
scipy.integrate.odeint - модель польоту снаряду 148
scipy.integrate.odeint - модель коливань, що згасають 149
scipy.interpolate - інтерполяція 150
scipy.optimize.fsolve - розв'язування рівнянь 152
scipy.optimize.root - розв'язування систем рівнянь 153
scipy.optimize.curve_fit - регресійний аналіз 153
scipy.optimize.curve_fit - множинна регресія 156
scipy.optimize.fminbound - оптимізація функції однієї змінної з границями 158
scipy.optimize.fminbound - локальна оптимізація невідомої функції 160
scipy.optimize.fmin_l_bfgs_b - оптимізація з границями методом L-BFGS-B 161
scipy.optimize.differential_evolution - диференціальна еволюція 162
scipy.optimize.basinhopping - комбінований метод глобальної оптимізації 164
scipy.stats - випадкові величини 167
scipy.stats - підгонка кривих і перевірка статистичних гіпотез 170
scipy.stats.kde - ядрова оцінка густини розподілу 174
scipy.fftpack дискретне перетворення Фур'є 175
scipy.fftpack - обернене дискретне перетворення Фур'є 177
scipy.cluster - кластеризація 179
pandas - аналіз даних 181
scikit-learn - машинне навчання 186
NetworkX - графи 188
NetworkX - орієнтовані графи, алгоритми на графах 191
pyDatalog - логічне програмування в Python 195
Зв'язок з інтерпретатором Prolog 196
kanren - логічне програмування в Python 197
python-constraint - задачі виконання обмежень 199
PIL (Pillow) - робота з растровою графікою 200
PyOpenGL - прив'язка до OpenGL 201
pyglet - кросплатформна віконна і мультимедійна бібліотека 205
pythonOCC - прив'язка до геометричного ядра Open CASCADE Technology 209
FreeCAD - вільна САПР з Python API 211
Abaqus/CAE - моделювання методом скінченних елементів 215
SymPy - символьна математика 217
Взаємодія з Maple 221
OMPython - інтерфейс OpenModelica Python 222
xlwt - створення електронних таблиць Excel 224
pywin32 - інтерфейс до win32 GUI API 225
win32com.client - об'єкти Excel 226
win32com.client - об'єкти Excel з обробкою подій 227
win32com.client - об'єкти SOLIDWORKS 230
pyserial - доступ до послідовного порту 230
pyFirmata - комунікація комп'ютера та Arduino 231
concurrent.futures - запуск паралельних задач 233
Dask - розподілені обчислення на чистій Python 234
Dask.Distributed - розподілені обчислення 236
PyQt4 - фреймворк Qt в Python 237
PyQt4 - елементи керування QtGui 239
PyQt4 - створення елемента керування 244
PyParsing - зручний синтаксичний аналіз 247
pymorphy2 - морфологічний аналізатор 250
pygments - підсвітка синтаксису 251
pygments - підсвітка синтаксису в Tkinter 253
lxml - простий і швидкий парсинг XML і HTML 255
lxml - XSLT трансформації 256
Bottle - легкий WSGI веб-фреймворк 256
РОЗДІЛ 3. ЗАДАЧІ 260
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ 268
|