Бібліотеки Python

  1. Бібліотека random
  2. Бібліотека math
  3. Бібліотека time
  4. Бібліотека datetime
  5. Бібліотека os
  6. Бібліотека platform
  7. Бібліотека sys
  8. Бібліотека logging
  9. Бібліотека requests

1. Бібліотека random

За допомогою цієї бібліотеки можна генерувати [псевдо]випадкові числа.

Метод random.random() - метод повертає випадкове число з плаваючою комою між 0.0 та 1.0. Числа генеруються рівномірно в цьому діапазоні. Це означає, що кожне число всередині інтервалу має однакову ймовірність вибору.

import random

probability = random.random()
print("Випадкова ймовірність:", probability)

Метод random.randint(a, b) - Ця функція повертає випадкове ціле число в діапазоні від a до b включно. На відміну від random.random(), яка повертає випадкове число з плаваючою комою в діапазоні від 0 до 1, randint() використовується, коли потрібно вибрати ціле число. Наприклад, random.randint(1, 10) може повернути будь-яке ціле число від 1 до 10, включаючи обидва кінцевих значення.

import random

dice_roll = random.randint(1, 6)  # Імітація кидання гральної кістки
print("Випало число:", dice_roll)

 

2. Бібліотека math

В ній містяться основні математичні функції і константи, такі як числа π і e.

math.piКонстанта π, приблизно дорівнює 3.14159
math.eОснова натурального логарифма, приблизно дорівнює 2.71828
math.sqrt(x)Повертає квадратний корінь з x
math.exp(x)Повертає e в степені x
math.log(x[, base])Повертає логарифм x за основою base, якщо base вказаний; в іншому випадку повертає натуральний логарифм.
math.cos(x)Повертає косинус x, де x вказано в радіанах
math.sin(x)Повертає синус x, де x вказано в радіанах
math.tan(x)Повертає тангенс x, де x вказано в радіанах
math.ceil(x)Округлює число вгору до найближчого цілого
math.floor(x)Округлює число вниз до найближчого цілого
math.factorial(x)Повертає факторіал x
import math

number = 9.7
rounded_up = math.ceil(number)  # Округляє вгору, результат 10
rounded_down = math.floor(number)  # Округляє вниз, результат 9

print("Округлене вгору число:", rounded_up)
print("Округлене вниз число:", rounded_down)

Біблеотек emoji

# Використання бібліотеки emoji
from emoji import emojize

print(emojize(":grinning_face:"))

 

3. Бібліотека time

Підрахувати час виконання коду

import time

start_time = time.time()
list_comp = [x ** 2 for x in range(n)]
list_time = time.time() - start_time

Зупинити виконання на 10 сек

import time

time.sleep(10)

 

4. Бібліотека datetime

Основні класи бібліотеки datetime

Клас datetime.date 

Цей клас представляє дату (рік, місяць, день) без часу. Він корисний для роботи з календарними датами.

import datetime

# Створення об'єкта дати
d = datetime.date(2023, 5, 24)
print(d)  # Вивід: 2023-05-24

# Отримання поточної дати
today = datetime.date.today()
print(today)

# Доступ до атрибутів року, місяця і дня
print(d.year)  # Вивід: 2023
print(d.month)  # Вивід: 5
print(d.day)  # Вивід: 24

Клас datetime.time 

Цей клас представляє час (години, хвилини, секунди, мікросекунди) без дати. Він корисний для роботи з часом доби.

import datetime

# Створення об'єкта часу
t = datetime.time(14, 30, 45)
print(t)  # Вивід: 14:30:45

# Доступ до атрибутів годин, хвилин і секунд
print(t.hour)  # Вивід: 14
print(t.minute)  # Вивід: 30
print(t.second)  # Вивід: 45

Клас datetime.datetime

Цей клас об'єднує дату і час (рік, місяць, день, години, хвилини, секунди, мікросекунди). Він корисний для роботи з конкретними моментами часу.

import datetime

# Створення об'єкта дати і часу
dt = datetime.datetime(2023, 5, 24, 14, 30, 45)
print(dt)  # Вивід: 2023-05-24 14:30:45

# Отримання поточної дати і часу
now = datetime.datetime.now()
print(now)

# Доступ до атрибутів дати і часу
print(dt.year)  # Вивід: 2023
print(dt.month)  # Вивід: 5
print(dt.day)  # Вивід: 24
print(dt.hour)  # Вивід: 14
print(dt.minute)  # Вивід: 30
print(dt.second)  # Вивід: 45

Клас datetime.timedelta

Цей клас представляє різницю між двома моментами часу, виражену в днях, секундах і мікросекундах. Він корисний для виконання арифметичних операцій з датами і часом.

import datetime

# Створення об'єкта timedelta
delta = datetime.timedelta(days=10, hours=5, minutes=30)
print(delta)  # Вивід: 10 days, 5:30:00

# Додавання timedelta до дати
dt = datetime.datetime(2023, 5, 24, 14, 30)
new_dt = dt + delta
print(new_dt)  # Вивід: 2023-06-03 20:00:00

# Віднімання timedelta з дати
earlier_dt = dt - delta
print(earlier_dt)  # Вивід: 2023-05-14 09:00:00

Метод strftime() - використовується для форматування об'єктів datetime в рядок за заданим форматом.

import datetime

dt = datetime.datetime(2023, 5, 24, 14, 30, 45)

# Форматування дати і часу
formatted_dt = dt.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_dt)  # Вивід: 2023-05-24 14:30:45

# Форматування тільки дати
formatted_date = dt.strftime("%d-%m-%Y")
print(formatted_date)  # Вивід: 24-05-2023

# Форматування тільки часу
formatted_time = dt.strftime("%H:%M:%S")
print(formatted_time)  # Вивід: 14:30:45

Метод strptime() - використовується для парсингу рядків в об'єкти datetime за заданим форматом.

import datetime

# Парсинг рядка в об'єкт datetime
date_str = "24-05-2023 14:30:45"
dt = datetime.datetime.strptime(date_str, "%d-%m-%Y %H:%M:%S")
print(dt)  # Вивід: 2023-05-24 14:30:45

# Парсинг рядка в об'єкт date
date_str = "24-05-2023"
d = datetime.datetime.strptime(date_str, "%d-%m-%Y").date()
print(d)  # Вивід: 2023-05-24

# Парсинг рядка в об'єкт time
time_str = "14:30:45"
t = datetime.datetime.strptime(time_str, "%H:%M:%S").time()
print(t)  # Вивід: 14:30:45

Клас timezone - дозволяє працювати з часовими поясами.

import datetime

# Створення об'єкта datetime з часовим поясом UTC
utc_dt = datetime.datetime(2023, 5, 24, 14, 30, 45, tzinfo=datetime.timezone.utc)
print(utc_dt)  # Вивід: 2023-05-24 14:30:45+00:00

# Конвертація в інший часовий пояс
tokyo_tz = datetime.timezone(datetime.timedelta(hours=9))
tokyo_dt = utc_dt.astimezone(tokyo_tz)
print(tokyo_dt)  # Вивід: 2023-05-24 23:30:45+09:00

 

5. Бібліотека os

Бібліотека os надає функції для взаємодії з операційною системою. Вона дозволяє виконувати операції, пов'язані з файловою системою, управлінням процесами, змінними оточення та багатьом іншим.

Отримання поточного робочого каталогу:

import os

cwd = os.getcwd()
print("Current Working Directory:", cwd)

Зміна поточного робочого каталогу:

os.chdir('/path/to/directory')

Створення нового каталогу:

os.mkdir('new_directory')

Видалення каталогу:

os.rmdir('new_directory')

Список файлів та каталогів:

files = os.listdir('.')
print("Files and directories:", files)

Отримання значення змінної оточення:

home_dir = os.getenv('HOME')
print("Home Directory:", home_dir)

Встановлення значення змінної оточення:

os.environ['MY_VAR'] = 'my_value'

 

6. Бібліотека platform

Бібліотека platform надає функції для отримання інформації про платформу, на якій виконується Python. Вона дозволяє дізнатись операційну систему, архітектуру процесора, версію Python та інші параметри.

Операційна система:

import platform

os_name = platform.system()
print("Operating System:", os_name)

Ім'я комп'ютера в мережі (hostname):

node_name = platform.node()
print("Node Name:", node_name)

Реліз операційної системи:

os_release = platform.release()
print("OS Release:", os_release)

Версія операційної системи:

os_version = platform.version()
print("OS Version:", os_version)

Архітектура процесора:

architecture = platform.architecture()
print("Architecture:", architecture)

Тип процесора:

processor = platform.processor()
print("Processor:", processor)

Версія Python:

python_version = platform.python_version()
print("Python Version:", python_version)

Компиляція Python:

python_compiler = platform.python_compiler()
print("Python Compiler:", python_compiler)

 

7. Бібліотека sys

Бібліотека sys є частиною стандартної бібліотеки Python і надає доступ до змінних та функцій, які взаємодіють з інтерпретатором Python. Вона корисна для отримання інформації про середовище виконання, управління процесом виконання скрипта та взаємодії з різними компонентами системи.

1. Аргументи командного рядка

Бібліотека sys дозволяє отримувати аргументи командного рядка, передані скрипту, через список sys.argv

2. Завершення програми

Функція sys.exit() дозволяє завершити виконання програми з вказаним статусом завершення. Нуль зазвичай вказує на успішне завершення, а будь-яке ненульове значення вказує на помилку.

3. Шлях пошуку модулів

Список sys.path містить шляхи, за якими інтерпретатор Python шукає модулі для імпорту. Ти можеш додавати нові шляхи до цього списку для налаштування пошуку модулів.

import sys

print("Шляхи пошуку модулів:")
for path in sys.path:
    print(path)

# Додавання нового шляху
sys.path.append('/path/to/my/modules')
print("Оновлений список шляхів пошуку модулів:", sys.path)

4. Інформація про систему

Бібліотека sys надає інформацію про систему та інтерпретатор Python, таку як версія Python і платформа.

import sys

# Версія Python
print("Версія Python:", sys.version)

# Інформація про платформу
print("Платформа:", sys.platform)

# Розмір числа в байтах
print("Розмір int:", sys.getsizeof(0), "байт")

5. Встановлені модулі

sys.modules — це словник, що містить інформацію про всі завантажені модулі. Ти можеш використовувати його для отримання інформації про завантажені модулі або для повторного імпорту.

import sys

# Список завантажених модулів
print("Завантажені модулі:")
for module in sys.modules:
    print(module)

 

8. Бібліотека logging

Додавання логів в код програми дозволяє відслідковувати її виконання і отримувати інформацію про стан змінних і операцій в різних точках виконання програми.

import logging

# Налаштування логування для виводу відлагоджувальної інформації
logging.basicConfig(level=logging.DEBUG)


def divide(a, b):
    # Логуємо спробу ділення
    logging.debug(f"Ділення {a} на {b}")
    if b == 0:
        # Логуємо помилку, якщо b дорівнює 0
        logging.error("Спроба ділення на нуль!")
        return None

    # Виконуємо ділення, якщо b не дорівнює 0
    return a / b

result = divide(10, 2)
print(result)

 

9. Бібліотека requests

Встановлення pip install requests

Список методів

МетодОпис
requests.get()Відправляє GET-запит для отримання даних з сервера.
requests.post()Відправляє POST-запит для відправки даних на сервер.
requests.put()Відправляє PUT-запит для оновлення даних на сервері.
requests.delete()Відправляє DELETE-запит для видалення даних з сервера.
requests.head()Відправляє HEAD-запит для отримання заголовків без тіла відповіді.
requests.options()Відправляє OPTIONS-запит для отримання підтримуваних методів і параметрів сервера.
requests.patch()Відправляє PATCH-запит для часткового оновлення даних на сервері.
requests.request()Основний метод для відправки всіх типів HTTP-запитів.

Відправка чистого GET-запиту

import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.headers)  # Виводить заголовки відповіді
print(response.headers['Content-Type'])  # Виводить значення конкретного заголовка

print(response.status_code)  # Виводить статус код відповіді
print(response.text)  # Виводить тіло відповіді у вигляді тексту
print(response.json())  # Виводить тіло відповіді у вигляді JSON
print(response.content)  # Виводить тіло відповіді у вигляді байтів

2. Відправка GET-запиту з параметрами

import requests

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())

3. Відправка POST-запиту

import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())

4. Запит через проксі

import requests

# URL-адреса, до якої виконується запит
url = 'http://httpbin.org/ip'

# Налаштування проксі-сервера
proxies = { 'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080', }

# Відправка GET-запиту через проксі
response = requests.get(url, proxies=proxies)

print(response.json())
2015-2026 © SumyNikNet