Модули, пакети и библиотеки
Урокът обяснява как се организира кодът в Python. Модулът е отделен файл .py с функции, променливи и класове, пакетът е папка с няколко модула, а библиотеката е събрание от готов код за многократна употреба. Python има богата стандартна библиотека (math, random, turtle), а външни пакети като pandas и matplotlib се инсталират отделно.
Какво да запомним
- Модул: файл с разширение .py; името на модула е името на файла без .py.
- Пакет: папка, която групира няколко модула.
- Стандартната библиотека идва с Python и не изисква инсталиране.
- Външните пакети (pandas, matplotlib, requests) се инсталират отделно.
- Кодът под if __name__ == "__main__": се изпълнява само при директно стартиране.
Пример
Пример: файлът helpers.py е модулът helpers; след import helpers функцията му се извиква с helpers.greet().
Проверете се: 20 въпроса
Натиснете въпроса, за да видите верния отговор и обяснението.
Какво е модул в Python?
- Отделен файл с код (.py), който може да се използва в други програми
- Вид цикъл
- Грешка при изпълнение
- Променлива с текстова стойност
Отговор: Отделен файл с код (.py), който може да се използва в други програми
Модулът е файл с функции, класове и променливи, който се внася с import.
Какво е разширението на файл с модул на Python?
- .exe
- .py
- .txt
- .docx
Отговор: .py
Модулите на Python са обикновени файлове с програмен код с разширение .py.
Кое е основното предимство на разделянето на програмата на модули?
- Програмата става по-бавна
- Кодът не може да се чете
- Кодът се организира и използва повторно
- Не са нужни функции
Отговор: Кодът се организира и използва повторно
Модулите групират свързан код, който може да се ползва в различни програми, без да се пише отново.
Имате файл helpers.py с функция greet(). Как я извиквате в друга програма в същата папка след import helpers?
- greet.helpers()
- import greet()
- helpers->greet()
- helpers.greet()
Отговор: helpers.greet()
След import helpers функциите на модула се достъпват с името на модула и точка.
Каква е стойността на __name__ в модул, който се изпълнява директно, а не се внася?
- "__main__"
- Името на файла
- None
- "module"
Отговор: "__main__"
При директно изпълнение __name__ е "__main__"; при внасяне е името на модула. Затова се пише if __name__ == "__main__":.
Какво съдържа обикновено един модул?
- Функции, променливи и класове
- Само снимки
- Само коментари
- Само звук
Отговор: Функции, променливи и класове
Модулът съдържа код: функции, класове и променливи, които могат да се използват.
Как се нарича модулът, който е във файла colors.py?
- colors.py
- colors
- py.colors
- module_colors
Отговор: colors
Името на модула е името на файла без разширението .py: import colors.
Коя вградена функция показва имената, достъпни в модула math?
- list(math)
- show(math)
- dir(math)
- names(math)
Отговор: dir(math)
dir() връща списък с имената (функции, константи) в модула.
Защо в модул се пише код под if __name__ == "__main__":?
- За да работи по-бързо
- За да скрие кода от потребителя
- За да се изпълни при внасяне
- За да се изпълнява само при директно стартиране, а не при import
Отговор: За да се изпълнява само при директно стартиране, а не при import
Така модулът може да има тестов или главен код, който не се изпълнява при внасянето му.
Колко пъти се изпълнява кодът на модул, ако той се внася с import два пъти в една програма?
- Веднъж, защото вторият import използва вече заредения модул
- Два пъти
- Нито веднъж
- Зависи от размера на файла
Отговор: Веднъж, защото вторият import използва вече заредения модул
Python пази заредените модули (sys.modules) и при повторен import не ги изпълнява отново.
Какво е библиотека в програмирането?
- Папка със снимки
- Събрание от готов код за многократна употреба
- Списък с грешки
- Вид текстов редактор
Отговор: Събрание от готов код за многократна употреба
Библиотеката съдържа готови функции и модули, които програмистът използва, вместо да ги пише сам.
Какво е пакет в Python?
- Един ред код
- Компресиран архив със снимки
- Папка, която групира няколко модула
- Тип данни за числа
Отговор: Папка, която групира няколко модула
Пакетът е папка с модули (традиционно с файл __init__.py), която се внася като едно цяло.
Кой модул е част от стандартната библиотека на Python и НЕ изисква инсталиране?
- numpy
- pandas
- requests
- math
Отговор: math
math идва заедно с Python, а numpy, pandas и requests се инсталират допълнително.
Коя библиотека се използва най-често за построяване на графики в Python?
- matplotlib
- turtle.math
- random
- os
Отговор: matplotlib
matplotlib (модулът pyplot) чертае линейни, стълбовидни и други графики.
Какво означава, че една библиотека е с отворен код?
- Може да се използва само безплатно в училище
- Изходният ѝ код е публично достъпен при условията на лиценз
- Не съдържа грешки
- Работи само без интернет
Отговор: Изходният ѝ код е публично достъпен при условията на лиценз
Кодът е публичен, а лицензът (например MIT) определя как може да се използва, променя и разпространява.
Кой от изброените е външен пакет, който се инсталира отделно?
- math
- random
- pandas
- datetime
Отговор: pandas
pandas не е част от стандартната библиотека и се инсталира с pip.
За какво се използва библиотеката pandas?
- За обработка и анализ на таблични данни
- За рисуване с костенурка
- За звукозапис
- За писане на имейли
Отговор: За обработка и анализ на таблични данни
pandas работи с таблици (DataFrame): четене от CSV и Excel, филтриране, групиране.
Какво е стандартната библиотека на Python?
- Платен пакет с допълнения
- Сайт за книги
- Модулите, които идват заедно с инсталацията на Python
- Сборник с упражнения
Отговор: Модулите, които идват заедно с инсталацията на Python
Стандартната библиотека включва math, random, datetime, os, json и много други модули.
Кой модул от стандартната библиотека чертае с "костенурка" на екрана?
- turtle
- pygame
- numpy
- flask
Отговор: turtle
turtle е стандартен модул за рисуване чрез команди за движение.
Какво е зависимост (dependency) на пакет?
- Друг пакет, който е нужен, за да работи пакетът
- Грешка в пакета
- Лицензът на пакета
- Размерът на пакета в MB
Отговор: Друг пакет, който е нужен, за да работи пакетът
pip инсталира автоматично и зависимостите, които пакетът изисква.