Как пишется модуль в питоне

  • Модуль числа

  • Вычисление

  • abs

  • fabs

  • Свое решение

  • Модуль комплексного числа

Очень часто возникает необходимость вычисления модуля числа в Python. Рассмотрим, что такое модуль числа, какие есть способы его вычисления. Так же отдельно коснемся комплексных чисел.

Модуль числа

Часто в программировании требуется вычислить абсолютное значение числа. Иначе говоря, отбросить знак.

При вычислении модуля возможны 3 ситуации:

  • Когда число больше 0. Если взять его по модулю — не изменится.
  • Модуль нуля так же равен нулю.
  • У отрицательного числа отбрасываем знак. То есть умножаем его на -1.

Но это все справедливо только для действительных чисел. Чему же тогда будет равен модуль комплексных?

Комплексное число состоит из действительной составляющей и мнимой. Геометрически это можно представить как 2 ортогональные оси: действительную и мнимую. Отмечаем на координатных осях требуемую точку. Модулем будет длина отрезка, проведенного из начала координат в эту точку.

Исходя из теоремы Пифагора получаем, что модуль комплексного числа это корень квадратный из суммы квадратов мнимой и действительной частей.

Вычисление

Вычислять модуль можно следующими способами:

  • Используя стандартную функцию abs.
  • С помощью функции fabs библиотеки math.
  • При помощи самостоятельно написанной функции.

Все эти функции работают как в Python 2, так и в Python 3.

abs

Для вычисления в Python модуля числа используется функция abs. Результат функции того же типа, которого был аргумент.

a = -10
b = abs(a)
print(b)
print(type(b))

10
<class 'int'>

fabs

Можно так же воспользоваться функцией fabs из библиотеки math. Библиотеку можно подключить с помощью from math import fabs.

from math import fabs
a = -10
b = fabs(a)
print(b)
print(type(b))

10.0
<class 'float'>

Отличие abs от fabs заключается в том, что функция abs возвращает значение того же типа, что и аргумент. Функция же fabs вначале преобразует тип аргумента к вещественному числу.

Свое решение

Если по каким то причинам нет возможности или желания использовать стандартные функции, то можно написать свое решение.

Например, можно вычислить воспользоваться тернарным оператором.

a = -10
b = a if a > 0 else -a
print(b)

10

На основе такого условия сделаем свою функцию.

def my_abs(a):
    return a if a > 0 else -a
print(my_abs(-3))

3

Модуль комплексного числа

Мы разобрались как происходит вычисление с действительными числами. Теперь посмотрим, как в языке программирования Python можно получить модуль комплексного.

Функцией fabs мы не сможем воспользоваться. Если попытаемся это сделать, то получим ошибку приведения комплексного числа к действительному (TypeError).

from math import fabs
a = -10-2j
b = fabs(a)
print(b)

Traceback (most recent call last):
  File "main.py", line 3, in <module>
    b = fabs(a)
TypeError: can't convert complex to float

А вот с помощью abs преобразование удается.

a = -10-2j
b = abs(a)
print(b)

10.19803902718557

Или же напишем свою функцию:

from math import sqrt
def my_abs_complex(c):
    return sqrt(c.real**2 + c.imag**2)
a = -10-2j
b = my_abs_complex(a)
print(b)

10.198039027185569

Результаты получились одинаковыми. Но нам все равно пришлось подключить библиотеку math для вычисления квадратного корня.

Содержание:развернуть

  • Что такое модуль числа
  • Abs
  • Fabs
  • Основные свойства модулей

Запускаю китайскую реплику «ТАРДИС», и вот мы в пятом классе. На доске нарисована числовая ось, а на ней выделен отрезок. Его начало в точке 4, а конец — в 8. Учительница говорит, что длину отрезка можно найти путём вычитания координаты начала отрезка из координаты его конца. Вычитаем, получаем 4, и радуемся — мы нашли длину. Ура! 🎉

Перемещаемся на год вперёд, и там происходит странное: учительница выделяет мелом другой отрезок, но делает это в каком-то неправильном месте — левее точки с цифрой «0». Теперь перед нами старая задача, но с новыми числами и даже буквами: A, B, минус 4 и минус 8. Мы начинаем искать длину отрезка AB = [-4;-8]:

Переводим непонимающий взгляд с получившейся отрицательной длины на довольную улыбающуюся учительницу, а затем на доску. Там наверху, рядом с сегодняшней датой, написана тема урока: «Модуль числа».

Что такое модуль числа

Теперь по-взрослому.

Модуль числа называют абсолютной величиной.

Для вещественных чисел модуль определяется так:

Формула модуля числа для вещественных чисел

Т.е. в любом случае, модуль — число большее или равное 0. Поэтому отрицательная длина в примере хитрой учительницы должна была быть взята по модулю:

Тогда дети бы увидели, что геометрический смысл модуля — есть расстояние. Это справедливо и для комплексных чисел, однако формальное определение для них отличается от вещественного:

, где z — комплексное число: z = x + iy.

В Python для нахождения модуля числа применяются две функции: fabs() из подключаемой библиотеки math и встроенная функция abs().

Abs

В то время как math.fabs() может оперировать только вещественными аргументами, abs() отлично справляется и с комплексными. Для начала покажем, что abs в python работает строго в соответствии с математическим определением.

# для вещественных чисел
print(abs(-1))
print(abs(0))
print(abs(1))

> 1
> 0
> 1

Как видно, с вещественными числами всё в порядке. Перейдём к комплексным.

# для комплексных чисел
print(complex(-3, 4))
print(abs(complex(-3, 4)))

> (-3+4j)
> 5.0

Если вспомнить, что комплексное число выглядит так: z = x + iy, а его модуль вычисляется по формуле:

, то можно без труда посчитать, что sqrt(3**2 + 4**2) действительно равно 5.0.

Можно заметить, что abs() возвращает значения разных типов. Это зависит от типа аргумента:

print(type(abs(1)))
> <class 'int'>

print(type(abs(1.0)))
> <class 'float'>

print(type(abs(complex(1.0, 1.0))))
<class 'float'>

В этом кроется ещё одно отличие abs() от fabs(). Функция из модуля math всегда приводит аргумент к вещественному типу, а если это невозможно сделать — выбрасывает ошибку:

print(type(math.fabs(complex(2,3))))
> TypeError: can't convert complex to float

Fabs

Для начала работы с fabs() необходимо импортировать модуль math с помощью следующей инструкции:

import math

Мы уже выяснили, что fabs() не работает с комплексными числами, поэтому проверим работу функции на вещественных:

print(math.fabs(-10))
print(math.fabs(0))
print(math.fabs(10))

> 10.0
> 0.0
> 10.0

Функция производит вычисления в соответствие с математическим определением, однако, в отличие от abs(), всегда возвращает результат типа float:

print(type(math.fabs(10)))
> <class 'float'>

Основные свойства модулей

# Квадрат модуля = квадрату числа
print(pow(4, 2) == pow(abs(4), 2))
> True

# |x| = |-x|
print(abs(-10) == abs(10))
> True

# Модуль произведения = произведению модулей: |ab|=|a||b|
print(math.fabs(11 * 3) == math.fabs(11) * math.fabs(3))
> True

# Аналогично для деления: |a/b|=|a|/|b|
print(math.fabs(48/8) == math.fabs(48) / math.fabs(8))
> True

# |a ** b| = |a| ** b
print(abs(2 ** 10) == abs(2) ** 10)
> True

И еще несколько важных неравенств:

  • m <= |m|
  • -|m| <= m
  • |m| >= 0
  • |m + n| <= |m| + |n|
  • |m – n| <= |m| + |n|
  • |m| — |n| <= |m + n|
  • |m + n| >= ||m| — |n||
  • |m – n| >= ||m| — |n||

Предыдущий урок: Итераторы Python

Что такое модуль?

Модуль — это файл, содержащий код python, который вы хотите включить в проект.

Документацию по модулям python на русском мы собрали в разделе Модули.

Создание модуля

Для того, чтобы создать модуль достаточно просто сохранить код в файл с расширением .py:
Сохраним этот код в файл под названием mymodule.py

def greeting(name):
    print("Привет, " + name)

Использование модуля

Теперь мы можем использовать только что созданный модуль, с помощью оператора import:

Импортируем модуль под названием mymodule, и вызовем функцию приветствия:

import mymodule

mymodule.greeting("Андрей")

Вывод:

Привет, Андрей

Примечание: Во время использования функции из модуля, синтаксис: module_name.function_name.

Переменные в модуле

Модуль может содержать функции, как уже описано, но также и переменные всех типов (массивы, словари, объекты и т. д.).
Сохраним этот код в файл mymodule.py

person1 = {
"name": "Виктор",
"age": 36,
"country": "Россия"
}

Импортируем модуль с названием mymodule, и получим доступ к словарю person1:

import mymodule

a = mymodule.person1["age"]
print(a)

Вывод:

36

Имя модуля

Вы можете назвать файл модуля, как вам нравится, но важно, указать расширение файла .py

Переименование модуля

Вы можете создать псевдоним при импорте модуля, используя ключевое слово as.

import mymodule as mx

a = mx.person1["age"]
print(a)

Вывод:

36

Встроенные модули

В Python есть несколько встроенных модулей, которые вы можете импортировать, когда захотите.

import platform

x = platform.system()
print(x)

Вывод:

Windows

Использование функции dir()

Существует встроенная функция для перечисления всех имен функций (или имен переменных) в модуле. Функция dir().

import platform

x =  dir(platform)
print(x)

Вывод:

['DEV_NULL', '_UNIXCONFDIR', '_WIN32_CLIENT_RELEASES', '_WIN32_SERVER_RELEASES', 
 '__builtins__', '__cached__', '__copyright__', '__doc__', '__file__', 
 '__loader__', '__name__', '__package__', '__spec__', '__version__', 
 '_default_architecture', '_dist_try_harder', '_follow_symlinks', 
 '_ironpython26_sys_version_parser', '_ironpython_sys_version_parser', 
 '_java_getprop', '_libc_search', '_linux_distribution', '_lsb_release_version',
 '_mac_ver_xml', '_node', '_norm_version', '_parse_release_file', '_platform',
 '_platform_cache', '_pypy_sys_version_parser', '_release_filename', 
 '_release_version', '_supported_dists', '_sys_version', '_sys_version_cache',
 '_sys_version_parser', '_syscmd_file', '_syscmd_uname', '_syscmd_ver', 
 '_uname_cache', '_ver_output', 'architecture', 'collections', 'dist', 
 'java_ver', 'libc_ver', 'linux_distribution', 'mac_ver', 'machine', 'node',
 'os', 'platform', 'popen', 'processor', 'python_branch', 'python_build', 
 'python_compiler', 'python_implementation', 'python_revision', 'python_version', 
 'python_version_tuple', 're', 'release', 'subprocess', 'sys', 'system', 
 'system_alias', 'uname', 'uname_result', 'version', 'warnings', 'win32_ver']

Примечание: Функцию dir() можно использовать на всех модулях, включая те, которые вы создаете сами.

Импорт из модуля

Вы можете импортировать модуль только частично, используя ключевое слово from

def greeting(name):
    print("Привет, " + name) 
person1  = {
"name": "Виктор",
"age": 36,
"country": "Россия"
}  

Импортируем из модуля словарь person1:

from mymodule import person1 
print (person1["age"])

Вывод:

36

Примечание: При импорте с использованием ключевого слова from не используйте имя модуля при обращении к элементам. Пример: person1["age"], а не mymodule.person1["age"]

Далее: Даты в Python

Модулем python может быть любой программный файл python, который содержит код, включая функции, класс или переменные python. Другими словами, мы можем сказать, что файл кода Python, сохраненный с расширением(.py), рассматривается как модуль. У нас может быть исполняемый код внутри модуля python.

Модули в Python отличаются маневренностью в логической организации кода. Чтобы использовать функциональность одного модуля в другом, мы должны импортировать конкретный модуль.

Создадим модуль с именем file.py, который содержит функцию func, которая содержит код для вывода некоторого сообщения на консоль.

Пример:

#displayMsg prints a message to the name being passed. 
def displayMsg(name)
 print("Hi "+name);  

Необходимо включить этот модуль в наш основной модуль, чтобы вызвать метод displayMsg(), определенный в модуле с именем file.

Нам нужно загрузить модуль в код Python, чтобы использовать его функции. Python предоставляет два типа операторов:

  1. Оператор импорта
  2. Оператор from-import

Оператор импорта

Оператор импорта используется для импорта всех функций одного модуля в другой. Здесь мы должны заметить, что мы можем использовать функциональность любого исходного файла Python, импортировав этот файл в качестве модуля в другой исходный файл Python.

Мы можем импортировать несколько модулей с помощью одного оператора импорта, но модуль загружается один раз, независимо от того, сколько раз он был импортирован в наш файл.

Синтаксис для использования оператора импорта приведен ниже.

import module1,module2,........ module n

Следовательно, если нам нужно вызвать функцию displayMsg(), определенную в файле file.py, мы должны импортировать этот файл как модуль в наш модуль, как показано в примере ниже.

Пример:

import file;
name = input("Enter the name?")
file.displayMsg(name)

Выход:

Enter the name?John
Hi John

Оператор from-import

Вместо того, чтобы импортировать весь модуль, в python имеется возможность импортировать только определенные атрибутов модуля. Это можно сделать с помощью from-import оператора. Синтаксис для использования оператора from-import приведен ниже.

from <module-name> import <name 1>, <name 2>..,<name n>   

Рассмотрим следующий модуль, называемый calculation, который содержит три функции: суммирование, умножение и деление.

calculation.py:

#place the code in the calculation.py 
def summation(a,b):
 return a+b
def multiplication(a,b):
 return a*b;
def divide(a,b):
 return a/b;

Main.py:

from calculation import summation  
#it will import only the summation() from calculation.py
a = int(input("Enter the first number"))
b = int(input("Enter the second number"))
print("Sum = ",summation(a,b)) #we do not need to specify the module name while accessing summation()

Выход:

Enter the first number10
Enter the second number20
Sum =  30

Оператор from … import всегда лучше использовать, если мы заранее знаем атрибуты, которые нужно импортировать из модуля. Это не позволяет нашему коду быть тяжелее. Мы также можем импортировать все атрибуты из модуля, используя *.

Рассмотрим следующий синтаксис.

from <module> import *  

Переименование модуля

Python предоставляет нам возможность импорта некоторого модуля с определенным именем, чтобы мы могли использовать его имя для этого модуля в нашем исходном файле python.

Синтаксис для переименования модуля приведен ниже.

import <module-name> as <specific-name> 

Пример:

#the module calculation of previous example is imported in this example as cal. 
import calculation as cal;
a = int(input("Enter a?"));
b = int(input("Enter b?"));
print("Sum = ",cal.summation(a,b))

Выход:

Enter a?10
Enter b?20
Sum =  30

Использование функции dir()

Функция dir() возвращает отсортированный список имен, определенных в переданном модуле. Этот список содержит все подмодули, переменные и функции, определенные в этом модуле.

Рассмотрим следующий пример.

import json

List = dir(json)

print(List)

Выход:

['JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', '__cached__', '__doc__',
'__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', 
'_default_decoder', '_default_encoder', 'decoder', 'dump', 'dumps', 'encoder', 'load', 'loads', 'scanner']

Функция reload()

Как мы уже говорили, модуль загружается один раз независимо от того, сколько раз он был импортирован в исходный файл python. Однако, если вы хотите перезагрузить уже импортированный модуль, чтобы повторно выполнить код верхнего уровня, python предоставляет нам функцию reload(). Синтаксис использования функции reload() приведен ниже.

reload(<module-name>)  

Например, чтобы перезагрузить вычисление модуля, определенное в предыдущем примере, мы должны использовать следующую строку кода.

reload(calculation)

Объем переменных

В Python переменные связаны с двумя типами областей видимости. Все переменные, определенные в модуле, содержат глобальную область видимости до тех пор, пока она не определена в функции.

Все переменные, определенные внутри функции, содержат локальную область видимости, которая ограничена самой этой функцией. Мы не можем получить глобальный доступ к локальной переменной.

Если две переменные определены с одним и тем же именем с двумя разными областями действия, т. е. локальной и глобальной, то приоритет всегда будет отдаваться локальной переменной.

Рассмотрим следующий пример.

name = "john"
def print_name(name):
 print("Hi",name) #prints the name that is local to this function only.
name = input("Enter the name?")
print_name(name)

Выход:

Hi David 

Пакеты Python

Пакеты в python облегчают разработчикам среду разработки приложений, предоставляя иерархическую структуру каталогов, в которой пакет содержит подпакеты, модули и подмодули. Пакеты используются для эффективной категоризации кода уровня приложения.

Создадим пакет с именем «Сотрудники» в вашем домашнем каталоге пошагово.

1. Создайте каталог с именем Сотрудники  / home.

2. Создайте исходный файл python с именем ITEmployees.py / home / Employees.

ITEmployees.py

def getITNames():
 List = ["John", "David", "Nick",  "Martin"]
 return List;

3. Аналогичным образом создайте еще один файл python с именем BPOEmployees.py и функцию getBPONames().

4. Теперь каталог «Сотрудники», который мы создали на первом шаге, содержит два модуля Python. Чтобы сделать этот каталог пакетом, нам нужно включить сюда еще один файл, то есть __init__.py, который содержит операторы импорта модулей, определенных в этом каталоге.

__init__.py

from ITEmployees import getITNames
from BPOEmployees import getBPONames

5. Теперь каталог «Сотрудники» стал пакетом, содержащим два модуля Python. Здесь мы должны заметить, что мы должны создать __init__.py внутри каталога, чтобы преобразовать этот каталог в пакет.

6. Чтобы использовать модули, определенные внутри пакета Employees, мы должны импортировать их в наш исходный файл python. Давайте создадим простой исходный файл Python в нашем домашнем каталоге(/ home), который использует модули, определенные в этом пакете.

Test.py

import Employees
print(Employees.getNames())

Выход:

['John', 'David', 'Nick', 'Martin']

Внутри пакетов могут быть подпакеты. Мы можем вкладывать пакеты до любого уровня в зависимости от требований приложения.

На следующем изображении показана структура каталогов системы управления библиотекой приложений, которая содержит три подпакета: Admin, Librarian и Student. Подпакеты содержат модули Python.

Структура каталогов

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Введение

Модули в Python – это файлы с расширением “.py”, написанные коды на языке Python. На любой файл написанный в Python можно ссылаться как на модуль.
Несколько модулей доступны после установки языка Python. Некоторые модули приходится устанавливать вручную.

Установку модулей вручную мы рассматривали в нашем руководстве про Импорт модулей в Python 3.
С помощью этого руководство вы поймёте как:

  • Написать модуль;
  •  Доступ к модулям из других директорий;
  • Использование переменной среды;
  • Модуль в переменной среде Python 3.

Подготовка к работе

У вас должен быть настроен дистрибутив под управлением Debian/Ubuntu/CentOS, настройка пользователя с правами sudo. Настроенная виртуальная среда языка Python. Рекомендуем заранее подготовиться перед преступлением к работе.

Написание и импортирование модулей

Первым делом стоит проверить версию Python с помощью:

python3 --version

На текущий момент актуальная версия 3.10.6. Если у вас старая версия, то обновите индекс пакетов и пакетов программного обеспечения с помощью:

sudo apt update && apt upgrade -y

Запустим виртуальную среду и с помощью текстового редактора Vim создадим новый файл с названием testingFile.py и добавим следующие строчки кода в самом начале указав шебанг. Шебанг – с помощью #! указываем путь к интерпретатору Python, подробнее рассмотрено в нашей инструкции.

#!/usr/bin/env python
# Определение функции
def test():
print(“This is test file”)

Если запустим с помощью:

python3 testingFile.py

То получим пустой результат. Необходимо создать второй файл и назовём test2.py и откроем с помощью vim и импортируем testingFile.py в файл test2.py и вызовем функцию test.

vim test2.py
#!/usr/bin/env python3
#Импорт файла
import testingFile
#Вызов функции из файла testingFile
testingFile.test()

Получим следующий результат, как на рисунке 1.

1

Рисунок 1 – Вызов функции из импортированного модуля

Мы импортируем модуль без использования “from testingFile import test”, нам необходимо вызывать функцию с помощью использованием названия модуля. Использование from … import можно рассмотреть в нашей инструкции.

Рассмотрим использование переменных в нашем модуле, добавим строчку в самом низу:

#!/usr/bin/env python3
# Определение функции
def test():
print("This is test file")
#Присвоение значения переменной
name = "serverspace"

Далее в файле test2.py в конце добавим строку изменив наш код в следующий вид:

#!/usr/bin/env python3
#Импорт файла
import testingFile
#Вызов функции из файла testingFile
testingFile.test()
#Вызов функции печати с использованием переменной
print(testingFile.name)

Результат приведён на рисунке 2.

2

Рисунок 2 – Вызов переменной из модуля

Когда рассмотрели вызов функции печати и переменной, рассмотрим создание класса и добавим в класс несколько атрибутов использовав следующие команды.

#!/usr/bin/env python3
# Определение функции
def test():
print("This is test file")
#Присвоение значения переменной
name = "serverspace"
#Определение класса
class TestingClass:
def __init__ (self, name, age):
self.name = name
self.age = age
def tell_me_about_TestingClass(self):
print("this class is " + self.name + ".")
print(self.name + " is the testing's name")

Теперь с помощью файла test2.py вызовем функцию инициализации и информацию о классе:

#!/usr/bin/env python3
#Импорт модуля
import testingFile
#Вызов функции
testingFile.test()
#Вывод информации из другого модуля
print(testingFile.name)
#Вызов функций из класса
server = testingFile.TestingClass("testingserver", "30 y.o.")
server.tell_me_about_TestingClass()

Результат приведён на рисунке 3.

3

Рисунок 3 – Вызов функций из класса TestingClass

Для начала создаём переменную с названием “server”, вызываем класс из модуля testingFile.py, присваиваем значения для переменной name “testingserver” и значение “30 y.o.” для переменной age.

Важно иметь ввиду, что модуль является определением, но в то же время можно реализовывать код. Рассмотрим новый пример модуля в файле test3.py

#!/usr/bin/env python3
def TestHello():
print(“Testing Hello, World!”)
#Вызов функции в модуле
TestHello()

Импортируем модуль в файл test4.py и проверим вызов функции TestHello:

#!/usr/bin/env python3
import test3

Получим результат в соответствии с рисунком 4.

4

Рисунок 4 – Вызов функции из модуля

Причина простая, внутри файла test3.py, создаём функцию с названием TestHello и внутри него реализуем функцию печати текста. Затем вызываем созданную функцию и импортируем в файл test4.py. Таким образом с помощью запуска test4.py вызываем функцию печать текста из функции TestHello.

Доступ к модулям из других директорий

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

Использование переменной среды

Если модуль находится вне проекта, используем модуль sys и с его помощи укажем путь к среде, где находится файл с нужным модулем. Например, находясь в домашней директории создав файл test5.py, мы не сможем импортировать файл test3.py, который находится в директории с виртуальной средой. Рассмотрим, как указывать путь к файлу test3.py:

import sys
sys.path.append(‘/root/testing/’)
import test3

И получим успешный результат, как показано на рисунке 5.

5

Рисунок 5 – Полученный результат

Успешный результат можем получить при указании правильного пути к файлу test3.

Модуль в переменной среде Python 3

Данный метод считается эффективным решением, модуль получает доступность для всей среды и системы. Проверим какой путь проверяет Python с помощью команд

python3
import sys
print(sys.path)

Получим в результате пути проверки интерпретатора Python, как показано на рисунке 6.

6

Рисунок 6 – Общие пути проверки интерпретатора Python

Выбираем нужный путь и скопируем файл test3.py в нужный путь.

cp testing/test3.py /usr/lib/python3.10
python3 test5.py

В файле test5.py удалим импортирование модуля sys. Запустим код:


cat test5.py # чтобы удостовериться, что строка с импортированием sys удалён либо закомментирован
python3 test5.py

Получим результат как на рисунке 7.

7

Рисунок 7 – Получение доступа к модулю из общего пути

Копирование модуля в общий путь проверки интерпретатора Python оказалось наиболее эффективным. Причина в том, чтобы каждый раз не импортировать модуль sys в файлах кодов и указывать путь к нужному модулю, стоит скопировать нужный модуль в общий путь. Не стоит забывать о резервной копии нужных модулей, никто не исключает удаление нестандартных модулей после обновления пакетов Python.

Выводы

В данной инструкции мы рассмотрели такие возможности как:

  • Создание модуля;
  • Импортирование созданного модуля;
  • Ссылаться на модуль с помощью импортирования модуля sys из находясь в другой директории;
  • Добавление созданного модуля в общий путь интерпретатора Python;
  • Получили информацию об общих путях при поиске модуля с помощью командного интерпретатора Python.

  • Как пишется модуль в excel
  • Как пишется модный лук
  • Как пишется модератор правильно
  • Как пишется моветон правильно
  • Как пишется мобильный номер телефона