Курс по програмиране на Python с Linux. Част тринадесета

Курс по програмиране на Python с Linux


Една от най-добрите характеристики на Python, както видяхме в доставки предишен курс по програмиране на Python с помощта на Linux, е това Кодът може да бъде използван повторно в други части на приложението или в други приложения.

В този пост ще видим Как да използвате програми в други програми, без да е необходимо да поставяте или въвеждате кода в тяхТова е полезно, защото Python има редица библиотеки за специфични задачи, които ни освобождават от работата по „преоткриване на колелото“.

Курс по програмиране на Python с Linux

Досега дефинирахме функция и я извиквахме, когато ни е необходима. Сега ще въведем концепцията за модул. Модулът е файл, в който са дефинирани функции и класове и са декларирани променливи. Тъй като модулите са независими файлове, използването им за изграждане на големи проекти улеснява поддръжката и актуализирането.

Python включва редица модули за разнообразни задачи, а също така можем да създаваме и свои собствени.

Предимствата от използването на модули са:

  • Повторно използване: Можем да напишем програма веднъж, която изпълнява конкретна задача (например изчисляване на данък) и да я извикаме, за да се използва в толкова програми, колкото ни е необходима тази функция, без да се налага да пренаписваме кода.
  • ред: Модулите помагат за логическото разделяне на частите на проекта, което прави възможно всеки с минимални познания по Python да разбере какво прави всяка част от програмата.
  • поддръжка: Колкото по-кратък е кодът, толкова по-лесно е да се открият грешки и да се направят промени.
  • мащабируемост: В големи проекти модулното строителство улеснява разделянето и повторното обединяване на работата.
  • Книжарници: Python предоставя на програмистите широк набор от модули, от създаване на игри до големи проекти с изкуствен интелект.

За да изградите правилно Python проект в модули, трябва да разделите и запишете различните части във файлове с разширение .py. В идеалния случай трябва да следвате тези критерии:

  • идентифициране части от кода, които изпълняват подобни функции: Например, можем да групираме събирането на данни в един модул, обработката в друг, а извеждането и съхранението в трети.
  • присвоите Описателни имена: Идеята е всеки да може с един поглед да разбере какво прави всеки модул. Ако е модул за валидиране на данни, е по-полезно да го наречете validation.py, отколкото 1234.py.

Ще създадем модул с име mostrar_distro.py. Това е модулът:

Пример за модул в Python

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

Този модул създава функция за отпечатване на името на дистрибуция, която ще бъде посочена в програмата, импортираща функцията, заедно с текста „Най-добрата дистрибуция е... Не се съмнявайте“.

Това е приложението, което извиква модула.

Програма, която извиква модул в Python 3

Тази програма извиква модула, който създадохме и запазихме преди това.

Тази програма извиква модула, който предварително сме запазили, извиква функцията distro и я изпълнява с параметъра „Ubuntu“. Ако променим нещо в модула, като например текста, показан до името на дистрибуцията, това ще се отрази в програмата.

Инструкцията за импортиране

Както видяхме в кода, за да импортираме модул, правим следното

import nombre_modulo

Разширението не е добавеноn.py

Не е нужно обаче да импортираме целия модул. Можем да импортираме конкретни части:

from nombre_modulo import elemento1, elemento2

За да спестите време за писане или да избегнете конфликти на имена, е възможно да зададете псевдоним на импортирания модул.

import nombre_moulo as nm

Използване на nm при всяко споменаване на модула в кодовото име.

Ако не искаме да се обръщаме към модула всеки път, когато извикаме някой от неговите елементи, можем да направим следното:

from nombre_modulo import *

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

Местоположение на модулите

В първата статия от курса обяснихме концепцията за виртуални среди. Тази практика, която е задължителна в Ubuntu и други Linux дистрибуции и незадължителна в Windows, създава файлова структура, която включва местоположения за съхранение на модули. Обикновено един модул може да се съхранява на три места:

  • Директорията, където се намира главната програма, която извиква модула.
  • Ако сте го инсталирали с помощта на мениджър на пакети, той се намира в папката lib на виртуалната среда.
  • В потребителски дефинираните директории местоположението се указва в командата import.

Видове модули:

  • Стандартни модули: Те са включени в инсталацията на Python и обслужват широк спектър от често срещани задачи за програмисти, като например генериране на случайни числа. Не изискват допълнителна конфигурация и са разработени от същите разработчици като езика.
  • Модули, разработени от потребителя: Те отговарят на специфичните нужди на даден проект и ако са предоставени на други потребители във форуми или сайтове за изтегляне, няма гаранция за официална поддръжка или актуализации.
  • Поддържа се от трети страни: Те се инсталират с помощта на специфични мениджъри на пакети и отговарят на често срещани нужди на много потребители, които не са обхванати от стандартните модули, като например изпращане на съобщения чрез WhatsApp. Въпреки че в много случаи се поддържат от компании или отговорни потребители с пълна и актуална документация, са открити и злонамерени пакети.

Някои примери за стандартни модули са:

  • Математически задачи: Той осигурява поддръжка за математически функции като изчисления на корени, тригонометрия, логаритми и константи.
  • Случайно: Използва се за генериране на случайни числа и произволно избиране на елементи.
  • Дата и час: Управление на календар, работа с дати и часове и изчисляване на часови разлики.
  • Вие: Той се занимава с взаимодействието на приложението с операционната система, включително работа с файлове, директории и променливи на средата.

Мениджърът на пакети pip

Подобно на толкова много имена в света на свободния софтуер, pip е рекурсивният акроним на английски за инсталатор на pip пакети. Това е официалният инструмент за инсталиране на модули, създадени от трети страни. Можем да видим списъка с наличните пакети тук.

Основните команди са:

Инсталиране на модул

pip3 install nombre_modulo

Модул за актуализиране

pip3 install --upgrade nombre_modulo.

Деинсталиране на модул

pip3 uninstall nombre_modulo

В следващата част ще продължим с курса.