Python - практическо програмиране - Издателство Асеневци
   
-25%
Python - практическо програмиране
zoom Увеличи изображението

Python - практическо програмиране

Корична цена 24.95 лв.
Цена: 18.71 лв.
+ 2.90 лв. за доставка
ISBN: 978-954-8898-63-8
Автор: Денис Колисниченко
Корица: Мека
Страници: 296 стр.
Формат: 159х235 мм
Година на издаване: 2015 г.
Издател: Асеневци
Количество: 

Анотация

Тази книга ще ви помогне да усвоите принципите на програмирането с Python. Първата част е посветена на синтаксиса и правилата за структуриране на кода в Python. Тук ще напишете първата си прoграма, ще разберете какви типове данни се поддържат и ще се научите да използвате различните оператори, променливи, цик­ли, математическите функции и други. Разгледана е работата с низове и низовите функции, регулярните изрази, работата със списъци.

Въпреки че първата част е озаглавена „Основи“, в нея на практика са засегнати всички теми, които биха ви били необходими, за да програмирате на Python, включително обработка на изключения, отваряне и затваряне на файлове, обектно ориентирано програмиране, работа с база данни MySQL и основи на SQL синтаксиса. Ще научите и как да обработвате интернет адреси и да правите разбор на HTML еквиваленти.

Втората част на книгата е посветена на PyQt и QtDesigner - изключително полезни инструменти, чрез които ще създадете графичния интерфейс за вашите приложения.

В последната, трета част, ще намерите много практически примери - за работа с текст, кодировки, работа с дата и време, работа с файлове и папки. Разгледани са и достатъчно сложни теми като работа с нишки, мрежово и уеб прог­рамиране, кодиране и обработка на данни.

Материалът в книгата е внимателно подбран и написан на достъпен език.

Съдържание

Въведение...8

 

Част 1. Основи

Глава 1. Първа програма...12
1.1. За версиите на Python...12
1.2. Инсталиране на Python 3...13
1.3. Първа програма на Python...17
1.4. Поставяне на програмата в отделен файл. Кодировка на текста...19
1.5. Структура на програмата...23
1.6. Коментари...26
1.7. Вход/изход на данни ...27
1.8. Четене на параметрите от командния ред ...29
1.9. Грешка при стартирането на IDLE...29

Глава 2. Променливи и типове данни...32
2.1. Имена на променливите...32
2.2. Типове данни...36
2.3. Присвояване на стойност...37
2.4. Проверка на типа данни и преобразуване на типове...40
2.5. Изтриване на променлива...43

Глава 3. Оператори ...44
3.1. Математически оператори...44
3.2. Оператори за работа с последователности...46
3.3. Оператори за присвояване...46
3.4. Побитови оператори...47
3.5. Приоритет на изпълнение на операторите...48

Глава 4. Цикли и условни оператори...49
4.1. Условни оператори...49
4.1.1. Логически стойности...49
4.1.2. Оператори за сравнение...49
4.1.3. Оператор if..else...51
4.2. Цикли...54
4.2.1. Цикъл for...54
4.2.2. Цикъл while...56
4.2.3. Операторите break и continue...58
4.2.4. Функция range()...58

Глава 5. Математически функции...60
5.1. Поддържани типове числа...60
5.2. Числови функции...62
5.3. Математически функции...63
5.4. Случайни числа. Модул random...64
5.5. Стойностите Infinity и NaN...66

Глава 6. Низове и низови функции...68
6.1. Какво е низ?...68
6.2. Специални символи...71
6.3. Действия с низове...72
6.3.1. Обръщане към елемент по индекс...72
6.3.2. Сечение на низ...73
6.3.3. Конкатенация на низове...73
6.3.4. Проверка за наличие...74
6.3.5. Повторение...74
6.3.6. Функция len()...74
6.4. Форматиране на низове и методът format()...75
6.4.1. Оператор за форматиране %...75
6.4.2. Методи за подравняване на низ...77
6.4.3. Метод format()...78
6.5. Функции и методи за работа с низове...80
6.6. Настройки на локала...83
6.7. Търсене и замяна в низ...83
6.8. Какво има в низа?...84
6.9. Шифриране на низ...85

Глава 7. Регулярни изрази...86
7.1. Въведение в регулярните изрази...86
7.2. Функция compile() и основи на регулярните изрази ...87
7.3. Методите match() и search()...91
7.4. Метод findall()...93
7.5. Метод sub()...93

Глава 8. Списъци...95
8.1. Какво е списък?...95
8.2. Операции със списъци ...96
8.3. Многомерни списъци...98
8.4. Обхождане на елементите на списък...99
8.5. Търсене на елемент от списък...100
8.6. Добавяне и премахване на елементи от списък...101
8.7. Разбъркване на елементи и избиране на случаен елемент...102
8.8. Сортиране на списък...103
8.9. Преобразуване на списък в низ...103
8.10. Изчисления с големи числови масиви ...104

Глава 9. Кортежи ...107
9.1. Понятието кортеж...107
9.2. Създаване на кортежи...107
9.3. Методи на кортежите...108
9.4. Модул itertools...109

Глава 10. Множества и речници...111
10.1. Понятието речник...111
10.2. Различни операции с речници...113
10.2.1. Достъп до елемент...113
10.2.2. Добавяне и премахване на елементи от речника...114
10.2.3. Обхождане на елементите на речник...114
10.2.4. Сортиране на речник...114
10.2.5. Методите keys(), values() и някои други...115
10.3. Понятието множество...115
10.4. Операции с множества...116
10.5. Методи на множествата...118

Глава 11. Потребителски функции...119
11.1. Деклариране на функция...119
11.2. Незадължителни параметри на функция...120
11.3. Променлив брой параметри...122
11.4. Анонимни функции...122
11.5. Функции генератори...122
11.6. Декоратори...123
11.7. Рекурсия...123
11.8. Глобални и локални променливи...124

Глава 12. Дата и време...125
12.1. Получаване на текущата дата и време...125
12.2. Форматиране на датата и времето...126
12.3. Модул calendar...128
12.4. Функция sleep...129
12.5. Измерване на времето за изпълнение на фрагменти от кода...130

Глава 13. Модули и пакети...132
13.1. Понятието модул...132
13.2. Инструкцията import...132
13.3. Инструкцията from...134
13.4. Път за търсене на модули...135
13.5. Повторно зареждане на модула...138
13.6. EGG файлове...138

Глава 14. Обработка на изключения ...140
14.1. Какво е изключение?...140
14.2. Инструкция try..except..else..finally...141
14.3. Инструкция with .. as...143
14.4. Генериране на изключения...144
14.5. Вградени класове изключения...145

Глава 15. Вход/изход на файл...147
15.1. Работа с файлове...147
15.1.1. Отваряне на файл...147
15.1.2. Методи за работа с файлове...149
15.1.3. Функции за работа с файлове...151
15.2. Работа с папки...153
15.3. Права за достъп в UNIX/Linux...155

Глава 16. ООП и Python...158
16.1. Основи на обектно ориентираното програмиране ...158
16.2. Дефиниране на клас и създаване на обект...160
16.3. Конструктор и деконструктор...161
16.4. Наследяване...162
16.5. Специални методи...163
16.6. Статични методи...165
16.7. Абстрактни методи...165
16.8. Презареждане на оператори...166
16.9. Ограничение на достъпа до идентификаторите...167
16.10. Свойства на класа...168
16.11. Декоратори на клас...169

Глава 17. Работа с база данни SQL...170
17.1. Основи на езика SQL...170
17.1.1. Основни понятия...170
17.1.2. Споразумение как да въвеждаме заявки...171
17.1.3. Типове полета...172
17.1.4. Създаване на таблици с оператора CREATE...173
17.1.5. Операторът INSERT: вмъкване на данни в таблица...174
17.1.6. Оператор UPDATE: промяна на запис...175
17.1.7. Оператор DELETE: изтриване на запис...176
17.1.8. Оператор SELECT: извличане на запис...177
17.1.9. Групиране на записи...179
17.1.10. Сортиране на записи...180
17.1.11. Изтриване на полета и таблици...181
17.2. Работа с MySQL...181
17.2.1. Свързване със СУБД...182
17.2.2. Изпълнение на заявки...184

Глава 18. Работа с интернет...187
18.1. Разбор на URL адрес...187
18.2. Декодиране на низа на заявка...188
18.3. Разбор на HTML еквиваленти...189
18.4. Преобразуване на относителни препратки...190
18.5. Определяне на кодировката...190

 

Част 2. Графичен интерфейс

Глава 19. Въведение в PyQt...194
19.1. Инсталиране на PyQt...194
19.2. Първата програма...196
19.3. Въведение в QtDesigner...199

Глава 20. Работа с прозорци...204
20.1. Създаване на прозорец...204
20.2. Поставяне на икона на прозореца...205
20.3. Затваряне на прозореца...206
20.4. Изскачащо подсказващо описание ...208

Глава 21. Обработка на сигнали и събития...210
21.1. Понятията сигнал и събития...210
21.2. Метод connect()...210
21.3. Метод disconnect()...213
21.4. Събития на прозореца и методи за обработката им...213
21.5. Събития на клавиатурата...214
21.6. Събития на мишката...214

Глава 22. Оформление на прозореца...216
22.1. Позициониране по координати...216
22.2. Хоризонтално и вертикално оформление...217
22.3. Подравняване по мрежа...218
22.4. Обединение на компоненти в групи...219
22.5. Табове...220
22.6. Оформление с помощта на форма...222

Глава 23. Основни компоненти...224
23.1. Уиджети, или компоненти на потребителския интерфейс...224
23.2. Превключвател On/Off...224
23.3. Независим превключвател...226
23.4. Календар...228
23.5. Поле за въвеждане на текст...230
23.6. Падащ списък...231
23.7. Сплитер...233
23.8. Индикатор на прогреса на зареждане...235

Глава 24. Диалогови прозорци...239
24.1. Клас QMessageBox...239
24.1.1. Custom диалог...239
24.1.2. Методите informatio(), warning(), critical() и question()...242
24.1.3. Метод about()...243
24.2. Метод QInputDialog()...243
24.3. Диалог за отваряне и съхраняване на файл...246
24.4. Диалог за избор на шрифт...247
24.5. Диалог за избор на цвят...249

 

Част 3. Практически задачи

Глава 25. Работа с текст...252
25.1. Съвпадение на текст в началото и в края на низа...252
25.2. Разделяне на низове с използването на няколко разделителя...253
25.3. Търсене на съответствия с използването на wildcards...254
25.4. Търсене и замяна в текст...254
25.5. Работа с Unicode...255
25.6. Премахване на нежелани интервали от низа...257
25.7. Подравняване на низ...258
25.8. Форматиране на текст...259
25.9. Токенизация на текста...260

Глава 26. Примери за работа с дата и време...263
26.1. Конвертиране на дните в секунди и други основни операции, свързани с преобразуване на времето...263
26.2. Модулът dateutil...264
26.3. Часови зони...264
26.4. Диапазон от дати на текущия месец...265
26.5. Преобразуване на низ в дата...266

Глава 27. Практическа работа с файлове и папки...268
27.1. Четене и запис на компресирани файлове...268
27.2. Работа с текстови файлове в различни кодировки...268
27.3. Пренасочване извода на функцията print() във файл...271
27.4. Записване във файл, който не съществува...271
27.5. Вход/изход с помощта на низове...272
27.6. Работа с много големи файлове...272
27.7. Манипулации с пътищата на файловете...274
27.8. Получаване на съдържанието на папка ...274
27.9. Дескриптор като файлов обект...275
27.10. Временни файлове и папки...276

Глава 28. Кодиране и обработка на данни...278
28.1. Работа с CSV...278
28.2. Четене и запис на JSON данни...280
28.3. XML кодиране...280
28.4. Декодиране и кодиране на шестнайсетично число...281
28.5. Base64 кодиране/декодиране ...282

Глава 29. Паралелизъм...283
29.1. Общи положения...283
29.2. Стартиране и прекратяване на нишки...283
29.3. Демон нишки...285
29.4. Глобално блокиране на нишките...285
29.5. Обмен на данни между нишките. Опашки...286

Глава 30. Мрежово и уеб програмиране...291
30.1. Създаване на списък от IP адреси...291
30.2. Собствен HTTP клиент...292
30.3. Пишем TCP сървър...293
30.4. Обмен на данни между интерпретаторите на Python...294

Заключение...296

 

За автора

Денис Колисниченко е водещ автор в областта на информационните технологии. Публикувал е многобройни статии и повече от 30 книги. Написани на разбираем език, неговите книги се отличават с изобилие от конкретни практически примери. Точно това ги прави много популярни.

Company MAXXmarketing GmbH