Независимо от того, являетесь ли вы экспертом или новичком в программировании на Python, вы должны быть знакомы с импортные модули команда. Однако, как новичок, вы можете не иметь представления, откуда берутся эти модули.
Давайте посмотрим глубже, чтобы понять происхождение этих модулей, а также то, как их создавать и импортировать для повторного использования.
Что такое повторное использование кода и почему это нужно делать?
Один из лучших приемов работы с большинством серверных языков - модульное построение кода, чтобы его можно было использовать повторно. Поскольку Python объектно-ориентирован, это один из тех языков, которые делают возможным повторное использование кода.
Модуляризация кода включает в себя написание кодов, которые выполняют различные инструкции в блоках. Он используется для разделения задач друг от друга.
Когда вы разбиваете код на модули, вы даете ему уникальное имя. Это имя является его идентификатором и означает, что в следующий раз, когда вам понадобится использовать этот блок кода, вам нужно будет назвать только его имя, а не весь код.
Эта практика делает вашу работу намного проще и быстрее во время реального проекта. Модульность кода также повышает скорость выполнения и упрощает тестирование. По сути, это делает ваш код более эффективным и читаемым.
Хотя наш пример здесь не основан на объектно-ориентированном программировании (ООП), мы должны кратко его обсудить, прежде чем переходить к созданию модуля.
Код, который вы собираетесь использовать повторно, иногда может стоять отдельно как отдельные функции. Но это также может быть в виде методы в учебный класс. Именно тогда в игру вступает концепция ООП.
Объектно-ориентированное программирование на Python
ООП - это представление кодов как независимых объектов в виде класса. У каждого объекта есть свои атрибуты и методы.
Эти атрибуты являются характеристиками класса, а каждый метод определяет поведение атрибутов.
Вместо того, чтобы писать длинный код, который менее эффективен по соглашению в процедурном программировании, ваш код становится более эффективным и конкретным в ООП. Причина в том, что функции и данные хранятся в независимых классах в ООП, в отличие от разделения обоих в процедурном программировании.
Каждый создаваемый вами класс приобретает индивидуальность. Поэтому, когда вам нужен именованный модуль из класса, вы вызываете его со ссылкой на этот класс.
Чтобы лучше понять, взгляните на наши руководство для начинающих по пониманию ООП.
Большинство современных языков программирования поддерживают парадигму «объектно-ориентированного программирования» (ООП). Но что такое ООП и почему оно так полезно?
Создание многоразовых функций: практический пример
Двигаясь дальше, давайте посмотрим, как мы можем повторно использовать функцию для счетчика слов в другом файле Python. Это руководство будет сосредоточено только на создании многоразовых функций, которые не находятся внутри объекта.
Во-первых, откройте командную строку в любом месте на вашем компьютере, чтобы начать новый проект. В этом случае мы будем использовать название проекта word_count. Для этого введите mkdir word_count.
Затем используйте предпочитаемый инструмент виртуальной среды, чтобы создать новую виртуальную среду. Если вы уже создали его, просто активируйте его. Убедитесь, что вы все еще находитесь в каталоге своего проекта.
В качестве хорошей практики, чтобы создать функцию счетчика слов, мы сначала пытаемся выяснить необработанную формулу для ее вычисления. Как правило, вы можете найти количество слов, добавив единицу к количеству пробелов в предложении. Обратите внимание, что, хотя вам может и не потребоваться подсчет слов, для этого объяснения важно то, как идея соотносится с возможностью повторного использования кода.
Затем откройте текстовый редактор в местоположении вашего проекта и создайте новый файл Python. В этом случае файл называется wordcounter.py; убедитесь, что вы используете правильный .py расширение.
Вот что счетчик слов файл выглядит так:
# создать переменную с именем word, содержащую несколько строк
word = ['как сделать счетчик слов на Python']
# Затем перебираем переменную для подсчета слов в созданной переменной
NumberOfWords = [EachWord.count ('') + 1 для EachWord в слове]
печать (NumberOfWords)
вывод: [8]
Теперь, когда необработанный код работает, мы затем модулируем его, создав функцию, которая делает код повторно используемым:
def CountWords (слова):
если слов не None:
NumberOfWords = [Eachword.count ('') + 1 для каждого слова в словах]
вернуть NumberOfWords
mywords = ['создание счетчика слов на Python']
печать (CountWords (mywords))
вывод: [6]
Вот и все; мы создали модуль счетчика слов. Посмотрим, как его использовать повторно.
Импорт созданного модуля
Помните, что ранее вы создали файл с именем wordcounter.py. Этот файл содержит функцию с именем CountWords. Если вам нужна эта функция в новом файле и вы не хотите переписывать весь код или функцию, все, что вам нужно сделать, это импортировать эту функцию как модуль в новый файл.
Обратите внимание, что в этом случае все ваши файлы Python должны находиться в одном каталоге. Чтобы убедиться, что это так, просто создайте новый файл Python в том же каталоге, где у вас есть wordcounter.py файл.
Вот как выглядит новый файл:
из wordcounter импортировать CountWords
words = ["как импортировать и повторно использовать ваш код в Python"]
CountWords (слова)
вывод: [9]
В приведенном выше фрагменте CountWords это функция внутри wordcounter.py файл. Чтобы повторно использовать эту функцию в новом файле Python, мы импортируем ее из родительского файла (wordcounter.py).
Импорт вашего созданного модуля без ограничений
Что делать, если новый файл находится не в том же каталоге, что и файл модуля? В этих случаях вы должны ссылаться на модуль, используя абсолютный импорт.
Чтобы понять это немного дальше, предположим, что вы создали новый файл в каталоге своего проекта. Но файл, из которого вы собираетесь импортировать свою функцию (который счетчик слов, в данном случае), находится в другой папке в директории вашего проекта, вызывая эту папку subword_count.
Чтобы импортировать модуль из счетчик слов (который сейчас находится внутри subword_count folder) в новый файл Python, вам нужно назвать его абсолютно. Чтобы увидеть, как это работает, создайте новый файл в каталоге вашего проекта, дайте ему желаемое имя и импортируйте модуль, как написано во фрагменте кода ниже:
from subword_count.wordcounter import CountWords
words = ["как импортировать и повторно использовать ваш код в Python для файлов в разных папках."]
CountWords (слова)
вывод: [14]
Во время абсолютного импорта Python просматривает родительскую папку (subword_count в данном случае) и находит файл или модуль, содержащий интересующую функцию (CountWords).
Чтобы разобраться в значении абсолютного импорта, приведенного выше, subword_count - это папка в каталоге вашего проекта, содержащая wordcounter.py файл. Затем этот файл содержит CountWords функция.
Где работает возможность повторного использования кода?
Модуляризация и повторное использование кода - лучшая практика для любого выполняемого вами проекта. Если вы пишете ООП, что, вероятно, будете делать часто, вы можете импортировать класс из модуля или вызвать функцию из класса. Если класс находится в папке, импортируйте его абсолютно в свой новый файл.
Та же практика применяется к функциям, которых нет в объекте. В зависимости от макета вашего проекта вы можете импортировать их явно или полностью, как мы сделали выше.
Чтобы в полной мере использовать сильные стороны Python, вам нужно узнать, как Python работает с объектно-ориентированным программированием (ООП).
- Программирование
- Программирование
- Python
- Объектно-ориентированного программирования

Идову увлечен интеллектуальными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.