Бібліотеки Python
- Бібліотека random
- Бібліотека math
- Бібліотека time
- Бібліотека datetime
- Бібліотека os
- Бібліотека platform
- Бібліотека sys
- Бібліотека logging
- Бібліотека 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())