Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2011-kl-lab1.doc
Скачиваний:
5
Добавлен:
12.11.2019
Размер:
642.05 Кб
Скачать

Імпортування модулів

import <модуль1> [, <модуль2> ]*

Під’єднує зовнішні модулі.

from <модуль> import <имя1> [, <имя2> ]*

Імпортування імен (функцій, класів, змінних тощо) з <модуля>. 

from <модуль> import *

Імпортує всі імена з <модуля>, за виключенням імен, що починаються з символу "_". 

Стандартна бібліотека Python

Великим надбанням Python як інструменту програміста є стандартна бібліотека, що міститься у дистрибутиві. Перше, з чим стикається програміст - це, звичайно, вбудовані типи даних, вбудовані виключення, і вбудовані функції. Список їх є невеликим, але більшість функцій для маніпуляцій з рядками, з датою і часом, регулярними виразами і інші містяться в модулях стандартної бібліотеки. Маніпуляції з рядками робляться за допомогою модуля string, дата і час приходять з модуля time, регулярні вирази в модулі re, доступ до функцій операційної системи - модуль os, і так далі.

Розглянемо докладніше стандартну бібліотеку Python. Бібліотека складається з кількох розділів.

  • По-перше, модулі, що дають доступ до нутрощів інтерпретатора і особливостей мови і реалізації.

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

  • Модулі, що дають доступ до системної бібліотеки, в першу чергу математичні функції.

  • Модулі для написання тестів в стилі Extreme Programming.

  • Модулі для (відносно) переносимого способу доступу до функцій операційної системи.

  • У бібліотеку ж входить простій покроковий відлагоджувач та профілірувальник - засіб знаходження "вузьких місць" коду.

  • Окремий великий розділ бібліотеки - мережні протоколи і засоби Інтернет; Python - відмінний інструмент для написання клієнтів і серверів, CGI, парсеров HTML/XML і т.д.

Модулі

Перший важливий модуль - sys, модуль доступу до Системи. Не операційній системі, а Системі. Тобто до інтерпретатора. Найпопулярніша функція з цього модуля - exit, тобто завершення роботи інтерпретатора. Втім, вона в модулі не єдина. Ще є функції отримання інформації про останнє виключення, хуки для відлагоджувачів та профілірувальників, і тому подібні "потрухи" інтерпретатора. Декілька цікавих змінних - стандартні потоки введення/виводу - stdin, stdout і stderr.

Модулів, що тісно пов'язані з інтерпретатором

Модуль gc дозволяє управляти збіркою сміття.

Модуль atexit дає можливість кожному модулю зареєструвати функцію деинициализации, яка викличеться при завершенні програми.

У модулі types перераховані всі вбудовані типи даних, так що програміст може виконати перевірку if type(myvar) == types.ListType...

Модуль inspect - для інтроспективної об'єктів під час виконання.

Модуль traceback дозволяє отримати і роздрукувати інформацію про виключення. Parser дійсно дає доступ до внутрішнього парсеру мови, а imp дозволяє управляти імпортом модулів. Здавалося б, навіщо їм управляти? Дуже просто - раптом програма розповсюджується в нестандартному вигляді або на нестандартному носієві, скажімо, в zip-файлі. Тут можливість імпортувати модулі особливим чином програмістові сильно стане в нагоді.

Модулі marshal, pickle і shelve дозволяють серіалізовувати об'єкти, тобто перетворювати їх на потік байт, який потім можна зберегти у файл або передати по мережі. Згодом серіалізовані об'єкти можна відновити засобами тих же модулів. Marshal вміє серіалізовувати тільки вбудовані типи даних, включаючи Python-овський байт-код. Цей модуль використовується самим інтерпретатором для завантаження збереженого байт-коду з файлу при імпорті модуля. Pickle не вміє серіалізовувати і відновлювати байт-код, і це зроблено спеціально, для безпеки, щоб програміст був упевнений, що не отримає по мережі вірус в байт-коді. Зате у pickle є засоби, за допомогою яких програміст може управляти серіалізацією і відновленням своїх об'єктів. Модуль shelve дозволяє зберігати серіалізовані об'єкти в дискових хешах (BERKELEYDB, (G/N) DBM).

Модулі dumbdbm, dbm, gdbm, bsddb надають доступ до відповідних вбудованих баз даних.

Модуль anydbm є оболонкою з єдиним API, який дозволяє використовувати будь-яку базу даних.

Модуль whichdb дозволяє визначити, в якому форматі є поточна база даних.

String - модуль для маніпуляції з рядками без регулярних виразів. Тут зібрані функції для пошуку підрядка в рядку, заміни і тому подібне.

Регулярні вирази - в модулі re. Довгий час цей модуль був інтерфейсом до бібліотеки PCRE (Perl-Compatible Regular Expressions), але в Python 2.0 був повністю переписаний для того, щоб працювати не тільки з ASCII-рядками, але і з юнікодом.

Модуль locale дає доступ до функцій локалізації, наявних в операційній системі; при установки локалі цей модуль модифікує змінні модуля string відповідно до встановленої локалі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]