Ако се интересуваш от Python, бързо ще се сблъскаш с концепцията на модулите. Те ти позволяват да структурираш своя код и да създаваш повторно използваеми функции. Това не само спомага за подреждането, но и подобрява ефективността на твоето програмиране. В това ръководство ще разбереш как да създаваш и импортираш модули в Python. Ще разгледаме как да работиш с собствен файл, за да предоставиш различни математически функции и след това да ги използваш в друг Python скрипт.
Най-важни изводи
- Модулите са просто Python файлове, които съдържат различни функции.
- Импортирането на модули позволява по-добра структура на твоя код.
- Можеш да импортираш модули под различни имена или само специфични функции.
- Със задаването на алиаси и селективни импорти избягваш конфликти в имената.
Стъпка по стъпка ръководство
Създаване на модул
За да създадеш модул в Python, първо се нуждаеш от файл с необходимите функции. В нашия пример ще създадем файл с име arithmetik.py, който включва някои основни математически функции като събиране, изваждане и умножение. Можеш да създадеш файла в който и да е текстов редактор.

В arithmetik.py дефинираш отделните функции:
def изваждане(a, b): return a - b
def умножение(a, b): return a * b
Тук имаме три прости функции, които ще използваш по-късно в основния си скрипт.
Импортиране на модул
Сега, след като си създал модула arithmetik.py, можеш да го използваш в друг скрипт. Създай втори файл с име rechner.py, който да се намира в същата директория като модула ти.

В rechner.py импортиране на модула с следната команда:
Сега можеш да получиш достъп до функциите на своя модул. Дефинирай няколко променливи, за да демонстрираш:
Сега можеш, например, да извикаш функцията за събиране и да изведеш резултата:
Тази линия извежда резултата от събирането на a и b. Ако сега пуснеш скрипта, ще видиш, че изходът е „17“.
Използване на алиаси
Ако искаш да импортираш модула под по-кратко име, това също е възможно. Това става така:
Сега можеш да извикаш функциите с алиаса ar, което прави кода ти малко по-кратък:
Въпреки различното име, всичко работи както обикновено. Просто е въпрос на предпочитание.

Селективно импортиране на функции
Понякога не ти трябват всички функции от един модул. Можеш да избираш кои функции да импортираш. За целта използвай следния синтаксис:
Сега функцията събиране е директно на разположение, без да е необходимо да посочваш името на модула.
Следователно, когато извикаш събиране(a, b), автопълнението ще ти предложи директно това, без да включва други функции.
Разрешаване на конфликти в имената
Още едно предимство на алиасите и селективния импорт е възможността да избягваш конфликти в имената. Ако имаш модул с име, идентично на име на външна библиотека, можеш да използваш функциите, без проблем.
Ако твоя модул arithmetik.py носи същото име като математическия модул math.py, ще получиш конфликт. Но с алиасиране или селективен импорт можеш да го избегнеш.

Заключение относно модулите и импортите
Както вече видя, модулите са централна част от програмирането в Python. Те ти помагат да направиш кода си модулен и повторно използваем. Импортирането и различните методи за импортиране ти предоставят гъвкавост и контрол върху достъпа до функции в твоите скриптове.
Обобщение – Основи на използването и импортиране на Python модули
В това ръководство научи как да създаваш, импортираш и използваш простички Python модули. Значението на структурирането на своя код става ясно чрез модулите и различните опции за импортиране. Така можеш да направиш програмирането си значително по-ефективно.
Често задавани въпроси
Какво е модул в Python?Модул е Python файл, който определя функции, класове и променливи, които могат да се използват в други Python скриптове.
Как да импортирам модул?Можеш да импортираш файл, като използваш командата import име_на_модула.
Каква е разликата между import модул и from модул import функция?Първата команда импортира целия модул, докато втората команда импортира само специфичната функция.
Как мога да избегна конфликти в имената?Можеш да използваш алиаси или да импортираш функции селективно, за да избегнеш конфликти с други модули.