Модуль - это файл, содержащий набор кодов или функций, которые могут быть задействованы в вашем коде. Модуль может быть файлом, содержащим одну переменную, функцию или большой набор строк кода.
Для создания модуля мы пишем наш код на языке Python и сохраняем его с расширением .py. Давайте создаим файл с именем mymodule.py внутри папки вашего проекта и напишем в нем код.
# файл mymodule.py
def generate_full_name(firstname, lastname):
return firstname + ' ' + lastname
А теперь создами файл main.py в вашей папке нашего проекта и импортируем модуль mymodule.py.
Чтобы импортировать файл мы используем import и название файла.
# файл main.py
import mymodule
print(mymodule.generate_full_name('Питер', 'Паркер')) # Питер Паркер
Мы можем отдель импортировать функцию, которая нам нужна.
# файл main.py
from mymodule import generate_full_name, sum_two_nums, person, gravity
print(generate_full_name('Питер', 'Паркер'))
print(sum_two_nums(1,9))
mass = 100;
weight = mass * gravity
print(weight)
print(person['firstname'])
При импорте мы можем переименовать имя модуля.
# файл main.py
from mymodule import generate_full_name as fullname, sum_two_nums as total, person as p, gravity as g
print(fullname('Питер','Паркер'))
print(total(1, 9))
mass = 100;
weight = mass * g
print(weight)
print(p)
print(p['firstname'])
Like other programming languages we can also import modules by importing the file/function using the key word import. Let's import the common module we will use most of the time. Some of the common built-in modules: math, datetime, os,sys, random, statistics, collections, json,re
Как и в других языках программирования, в Python есть встроенные модули, которые мы можем импортировать, используя import. Давайте попробуем импортировать самые часто используемые модули. К таким модулям относятся: math, datetime, os, sys, random, statistics, collections, json, re.
# импорт модуля
import os
# создание директории
os.mkdir('directory_name')
# изменение текущей директории
os.chdir('path')
# получение текущей рабочей директории
os.getcwd()
# удаление директории
os.rmdir()
Модуль sys в Python предоставляет функции и переменные, связанные с системой и интерпретатором Python. Он позволяет взаимодействовать с различными компонентами операционной системы, получать информацию о среде выполнения Python, а также управлять выполнением программы. Например, функция sys.argv возвращает список аргументов командной строки, переданных в скрипт Python. Элемент с индексом 0 в списке всегда содержит имя скрипта.
Пример файла script.py::
import sys
#print(sys.argv[0], sys.argv[1], sys.argv[2]) # эта строка выведет: имя_файла аргумент1 аргумент2
print('Welcome {}. Enjoy {} challenge!'.format(sys.argv[1], sys.argv[2]))
А теперь, давайте проверим работоспособность этого скрипта:
python script.py Asabeneh 30DaysOfPython
Результатом будет:
Welcome Asabeneh. Enjoy 30DayOfPython challenge!
Рассотрим ещё немного полезных команд модуля sys:
# для выхода из программы
sys.exit()
# Получение максимального значения целочисленной переменной
sys.maxsize
# Получение пути
sys.path
# Получение версии Python, которую мы используем sys.version
В модуле Statistics определены популярные статистические функции, такие как mean, median, mode, stdev и т. д.
from statistics import * # импортируем все функции из модуля statistics
ages = [20, 20, 4, 24, 25, 22, 26, 20, 23, 22, 26]
print(mean(ages)) # ~22.9
print(median(ages)) # 23
print(mode(ages)) # 20
print(stdev(ages)) # ~2.3
Модуль math содержит множество математических операций и констант.
import math
print(math.pi) # 3.141592653589793, число пи
print(math.sqrt(2)) # 1.4142135623730951, вычисление квадратного корня
print(math.pow(2, 3)) # 8.0, возведение в степень
print(math.floor(9.81)) # 9, округление до ближайшего меньшего целого
print(math.ceil(9.81)) # 10, округление до ближайшего большего целого
print(math.log10(100)) # 2, десятичный логарифм
Сейчас мы импортировали модуль math, который содержит множество функций. Чтобы проверить, какие именно функции есть в модуле, мы можем использовать функцию help(math) или dir(math). Это позволит нам увидеть доступные функции в модуле. Если мы хотим импортировать только определенную функцию из модуля, мы импортируем ее следующим образом:
from math import pi
print(pi)
А ещё, мы можем импортировать сразу несколько функций:
from math import pi, sqrt, pow, floor, ceil, log10
print(pi) # 3.141592653589793
print(sqrt(2)) # 1.4142135623730951
print(pow(2, 3)) # 8.0
print(floor(9.81)) # 9
print(ceil(9.81)) # 10
print(math.log10(100)) # 2
Однако, если мы хотим импортировать все функции из модуля math, мы можем использовать символ *.
from math import *
print(pi) # 3.141592653589793, число пи
print(sqrt(2)) # 1.4142135623730951, квадратный корень
print(pow(2, 3)) # 8.0, возведение в степень
print(floor(9.81)) # 9, округление вниз до целого цисла
print(ceil(9.81)) # 10, округление вверх до целого цисла
print(math.log10(100)) # 2
При импорте мы также можем изменить имя функции:
from math import pi as PI
print(PI) # 3.141592653589793
Модуль string представляет собой полезный модуль для множества задач. Приведенный ниже пример демонстрирует некоторые возможности модуля string.
import string
print(string.ascii_letters) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits) # 0123456789
print(string.punctuation) # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
А теперь давайте импортируем модуль random и посмотрим как работает он! Функция random() возвращает нам значение между 0 и 0.9999.... Модуль random имеет много функций, но в этом разделе мы будем использовать только random и randint.
from random import random, randint
print(random()) # функция random не принимает аргументов; она возвращает значение между 0 и 0.9999
print(randint(5, 20)) # функция randint возвращает случайное целое число в диапазоне [5, 20] включительно
🌕 Ты уверенно движешься вперед! Так держать! Ты только что завершил 12 день челленджа и стал на 12 шагов ближе к мечте. Закрепи свой результат практическими заданиями.
- Напишите функцию, которая генерирует случайный идентификатор пользователя длинной в 6 символов(random_user_id).
print(random_user_id()); '1ee33d'
- Модифицируйте прошлую задачу. Объявите функцию с именем user_id_gen_by_user. Она не принимает никаких параметров, но запрашивает два ввода с помощью функции input(). Первый - количество символов, второй - количество идентификаторов, которые должны быть сгенерированы.
print(user_id_gen_by_user()) # user input: 5 5
#output:
#kcsy2
#SMFYb
#bWmeq
#ZXOYh
#2Rgxf
print(user_id_gen_by_user()) # 16 5
#1GCSgPLMaBAVQZ26
#YD7eFwNQKNs7qXaT
#ycArC5yrRupyG00S
#UbGxOFI7UXSWAyKN
#dIV0SSUTgAdKwStr
- Напишите функцию rgb_color_gen. Она будет генерировать цвета RGB (3 значения от 0 до 255 каждое).
print(rgb_color_gen())
# rgb(125,244,255) - вывод должен быть такого формата
- Напишите функцию list_of_hexa_colors которая возвращает любое количество последовательностей содержащих шестнадцатеричный цвет (цвета должны быть записаны после #). Шестнадцатеричная система состоит из 6 символов: чисел 0-9 и первых 6 букв английского алфавита a-f.
- Напишите функцию list_of_rgb_colors, которая возвращает любое количество цветов RGB.
- Напишите функцию generate_colors, которая может генерировать любое количество шестнадцатеричных или RGB цветов.
generate_colors('hexa', 3) # ['#a3e12f','#03ed55','#eb3d2b']
generate_colors('hexa', 1) # ['#b334ef']
generate_colors('rgb', 3) # ['rgb(5, 55, 175','rgb(50, 105, 100','rgb(15, 26, 80']
generate_colors('rgb', 1) # ['rgb(33,79, 176)']
- Создайте функцию shuffle_list, которая принимает список в качестве параметра и возвращает перемешанный список.
- Напишите функцию, которая возвращает последовательность из семи случайных чисел в диапазоне от 0 до 9. Все числа должны быть уникальными.
🎉 ПОЗДРАВЛЯЕМ ! 🎉