Независимо дали сте експерт или начинаещ в програмирането на Python, трябва да сте запознати с импортиране на модули команда. Като новодошъл обаче може да нямате представа откъде идват тези модули.
Нека разгледаме по-задълбочено, за да разберем произхода на тези модули, както и как да ги създадем и импортираме за повторна употреба.
Какво представлява повторната употреба на кода и защо трябва да го правите?
Една от най-добрите практики при работа с повечето езици от страна на сървъра е да модулирате кода си, така че да може да се използва повторно. Тъй като Python е обектно-ориентиран, това е един от онези езици, които правят възможна повторната употреба на кода.
Модуларизацията на кода включва писане на кодове, които изпълняват различни инструкции в блокове. Използва се за отделяне на задачи една от друга.
Когато модулирате код, му давате уникално име. Това име е неговата идентичност и означава, че следващия път, когато трябва да използвате този блок код, трябва само да извикате името му, а не целия код.
Тази практика прави работата ви много по-лесна и по-бърза по време на реален проект. Модуларизацията на кода също подобрява скоростта на изпълнение и улеснява тестването. По същество това прави вашия код по-ефективен и четим.
Въпреки че нашият пример тук не се основава на обектно-ориентирано програмиране (OOP), трябва да го обсъдим накратко, преди да преминем към създаването на модул.
Кодът, който възнамерявате да използвате повторно, понякога може да бъде самостоятелен като отделни функции. Но може да бъде и под формата на методи в клас. Тогава влиза в действие концепцията за ООП.
Обектно-ориентирано програмиране в Python
OOP е представянето на кодове като независими обекти под формата на клас. След това всеки обект има своите атрибути и методи.
Тези атрибути са характеристиките на класа, докато всеки метод определя поведението на атрибутите.
Вместо да пишете дълъг код, който е по-малко ефективен в процедурното програмиране, вашият код става по-ефективен и специфичен в OOP. Причината е, че функциите и данните се съхраняват в независими класове в ООП, за разлика от разделянето на двете в процедурното програмиране.
След това всеки клас, който създавате, заема идентичност. Така че, когато имате нужда от именен модул от клас, го извиквате с препратка към този клас.
За да получите по-добро разбиране, погледнете нашите ръководство за начинаещи за разбиране на ООП.
Повечето съвременни езици за програмиране поддържат парадигмата „обектно-ориентирано програмиране“ (ООП). Но какво всъщност е ООП и защо е толкова полезно?
Осъществяване на функции за многократна употреба: Практически пример
Продължавайки, нека да разгледаме как можем да използваме повторно функцията за брояч на думи в друг файл на Python. Това ръководство ще се фокусира само върху създаването на функции за многократна употреба, които не са вътре в обект.
Първо, отворете командния ред на всяко място на вашия компютър, за да стартирате нов проект. В този случай ще използваме име на проект на брой думи. За да направите това, напишете mkdir word_count.
След това използвайте предпочитания инструмент за виртуална среда, за да създайте нова виртуална среда. Ако вече сте създали такъв, просто го активирайте. Уверете се, че все още сте в директорията на вашия проект.
Като добра практика, за да създадем функцията за брояч на думи, първо се опитваме да намерим сурова формула за нейното изчисляване. Като цяло можете да намерите брой думи, като добавите едно към броя на интервалите в изречението. Имайте предвид, че макар да не се нуждаете от брой думи, за това обяснение е важно как идеята се отнася до повторната употреба на кода.
След това отворете текстов редактор за местоположението на вашия проект и създайте нов файл на Python. В този случай файлът е именуван като wordcounter.py; уверете се, че използвате правилното .py удължаване.
Ето какво wordcounter файлът изглежда така:
# създайте променлива, наречена дума, която съдържа някои низове
word = ['как да направя брояч на думи в python']
# След това преминете през променливата, за да преброите думите в създадената променлива
NumberOfWords = [EveryWord.count ('') + 1 за всяка дума в дума]
печат (NumberOfWords)
изход: [8]
Сега, когато суровият код работи, ние го модулираме, като създадем функция, която прави кода за многократна употреба:
def CountWords (думи):
ако думите не са None:
NumberOfWords = [Everyword.count ('') + 1 за всяка дума с думи]
върнете NumberOfWords
mywords = ['създаване на брояч на думи в python']
печат (CountWords (mywords))
изход: [6]
Това е; създадохме модул за брояч на думи. Нека да видим как да го използваме повторно.
Импортиране на създадения модул
Не забравяйте, че по-рано сте създали файл с име wordcounter.py. Този файл съдържа функция, наречена CountWords. Ако имате нужда от тази функция в нов файл и не искате да пренаписвате целия код или функция, всичко, което трябва да направите, е да импортирате тази функция като модул в новия си файл.
Имайте предвид, че всички ваши файлове на Python трябва да са в една и съща директория, в този случай. За да сте сигурни, че това е така, просто създайте нов файл на Python в същата директория, където имате wordcounter.py файл.
Ето как изглежда новият файл:
от wordcounter import CountWords
words = ["как да импортирате и използвате повторно кода си в Python"]
CountWords (думи)
изход: [9]
В горния фрагмент, CountWords е функцията в wordcounter.py файл. За да използваме повторно тази функция в нов файл на Python, ние я импортираме от нейния родителски файл (wordcounter.py).
Импортиране на вашия създаден модул Абсолютно
Ами ако новият файл не е в същата директория като файла на модула? В тези случаи трябва да посочите модула, като използвате абсолютен импорт.
За да разберем това малко по-нататък, нека приемем, че сте създали нов файл в директорията на вашия проект. Но файлът, от който възнамерявате да импортирате вашата функция (който е wordcounter, в този случай), е в друга папка в директорията на вашия проект, която извиква тази папка subword_count.
За да импортирате модула си от wordcounter (което сега е в subword_count папка) в нов файл на Python, трябва да го извикате абсолютно. За да видите как работи това, създайте нов файл в директорията на вашия проект, дайте му предпочитаното име и импортирайте модула си, както е написано в кодовия фрагмент по-долу:
от subword_count.wordcounter импортиране на CountWords
words = ["как да импортирате и използвате повторно кода си в Python за файлове в различни папки."]
CountWords (думи)
изход: [14]
По време на абсолютен импорт Python преглежда родителската папка (subword_count в този случай) и локализира файла или модула, съдържащ интересуващата функция (CountWords).
За да разбием значението на абсолютния внос по-горе, subword_count е папка в директорията на вашия проект, която съдържа wordcounter.py файл. Тогава този файл съдържа CountWords функция.
Къде работи повторната употреба на кода?
Модулирането и повторното използване на вашия код е най-добрата практика за всеки проект, който изпълнявате. Ако пишете OOP, което вероятно ще правите често, можете да импортирате клас от модул или да извикате функция от клас. Ако класът е в папка, импортирайте го абсолютно в новия си файл.
Същата практика се отнася за функции, които не са в обект. В зависимост от оформлението на вашия проект, можете да ги импортирате изрично или абсолютно, както направихме по-горе.
За да се възползвате напълно от силните страни на Python, ще искате да научите как Python работи с обектно-ориентирано програмиране (OOP).
- Програмиране
- Програмиране
- Python
- Обектно ориентирано програмиране

Idowu е запален по всичко интелигентни технологии и производителност. В свободното си време той се заиграва с кодиране и превключва на шахматната дъска, когато му е скучно, но обича и да се откъсва от рутината от време на време. Страстта му да показва на хората пътя към съвременните технологии го мотивира да пише повече.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.