[*] pr0gramm1ng basics
Photo
Библиотека Tensorflow на python 🐍
Tensorflow - мощный фреймворк с открытым исходным кодом для машинного обучения и разработки нейросетей, разработанный компанией Google.
Установка:
Также в этой библиотеке есть встроенный API Keras. Он полностью интегрирован в Tensorflow.
🤖 Пример нейросети на Tensorflow:
⚡ Для каких задач чаще всего используется Tensorflow:
1. Компьютерное зрение (Computer Vision). Например библиотека Mediapipe.
2. Обработка естественного языка. Например, определение тональности (NLTK + Tensorflow), машинный перевод (Tensorflow + Transformers (Hugging Face)), генерация текста (чат-боты)
3. Обработка звука и речи (Tensorflow Audio или Tensorflow + Librosa)
🔥 Щас на этой библиотеке я работаю над созданием своей нейросети. Она будет распознавать цифры, который я ей написал. Вчера 5 часов делал датасет и переобучил нейросеть. Сегодня придётся новый делать, поэтому не знаю когда дам её код. Стабильно библиотека работает на версии Python 3.8 🔥
Tensorflow - мощный фреймворк с открытым исходным кодом для машинного обучения и разработки нейросетей, разработанный компанией Google.
Установка:
pip install tensorflow
Также в этой библиотеке есть встроенный API Keras. Он полностью интегрирован в Tensorflow.
🤖 Пример нейросети на Tensorflow:
import tensorflow as tf #импортируем
# 1. Загрузка данных (встроенный датасет)
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0 # Нормализация
# 2. Построение модели
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)), # Сглаживаем изображение 28x28 в вектор
tf.keras.layers.Dense(128, activation='relu'), # Полносвязный слой на 128 нейронов
tf.keras.layers.Dropout(0.2), # Регуляризация для борьбы с переобучением
tf.keras.layers.Dense(10) # Выходной слой на 10 классов (цифры 0-9)
])
# 3. Компиляция модели
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 4. Обучение модели
model.fit(x_train, y_train, epochs=5)
# 5. Оценка качества
model.evaluate(x_test, y_test, verbose=2)
⚡ Для каких задач чаще всего используется Tensorflow:
1. Компьютерное зрение (Computer Vision). Например библиотека Mediapipe.
2. Обработка естественного языка. Например, определение тональности (NLTK + Tensorflow), машинный перевод (Tensorflow + Transformers (Hugging Face)), генерация текста (чат-боты)
3. Обработка звука и речи (Tensorflow Audio или Tensorflow + Librosa)
🔥 Щас на этой библиотеке я работаю над созданием своей нейросети. Она будет распознавать цифры, который я ей написал. Вчера 5 часов делал датасет и переобучил нейросеть. Сегодня придётся новый делать, поэтому не знаю когда дам её код. Стабильно библиотека работает на версии Python 3.8 🔥
TensorFlow
An end-to-end open source machine learning platform for everyone. Discover TensorFlow's flexible ecosystem of tools, libraries and community resources.
MyFirstNeiro.rar
2.8 MB
Сделал свою нейросеть на python 🐍 при помощи библиотеки TensorFlow 🔥
Скрипты писал меньше часа, а саму нейросеть обучал почти 2 дня (методом проб и ошибок).
Так вот, что она делает?
🤖 Моя нейросеть умеет распознавать цифры 0-9. Обучена на данных MNIST (также сделал скрипты для создания своего датасета для моей нейросети).
Зависимости:
- TensorFlow (версия: 2.13.0)
- NumPy (версия: 1.24.3)
- Pillow (версия: 10.4.0)
- Pygame (версия: 2.6.1)
Нейросеть зовут - Овощ 🍆 (ну просто она реально овощ). Версия Python 3.8 ✨
GitHub репозиторий: my_first_neiro
Скрипты писал меньше часа, а саму нейросеть обучал почти 2 дня (методом проб и ошибок).
Так вот, что она делает?
🤖 Моя нейросеть умеет распознавать цифры 0-9. Обучена на данных MNIST (также сделал скрипты для создания своего датасета для моей нейросети).
Зависимости:
- TensorFlow (версия: 2.13.0)
- NumPy (версия: 1.24.3)
- Pillow (версия: 10.4.0)
- Pygame (версия: 2.6.1)
Нейросеть зовут - Овощ 🍆 (ну просто она реально овощ). Версия Python 3.8 ✨
GitHub репозиторий: my_first_neiro
👍1
Библиотека PyUSB в python 🐍
Это библиотека нужна для работы с USB устройствами (не всеми). Она является низкоуровневой и самой распространенной библиотекой для работы с USB. Эта библиотека поддерживается на Windows, Linux и MacOs (кроссплатформенная).
Пример кода на PyUSB:
Что такое PID и VID?
PID (Product id) - это идентификатор продукта. Он придумывается производителем для какого-либо устройства
VID (Vendor id) - это идентификатор производителя. Он назначается организацией USB-IF (официальная ассоциация USB)
👉 Вместе VID и PID полностью идентифицируют конкретную модель устройства
Вот пример кода для того чтобы узнать VID, PID и название продукта (product):
✨ Есть конечно и библиотеки получше, чем PyUSB (например, hidapi (или hid), pyserial), но пока что решил рассказать про неё ✨
Документация 👉 PyUSB 👈
Это библиотека нужна для работы с USB устройствами (не всеми). Она является низкоуровневой и самой распространенной библиотекой для работы с USB. Эта библиотека поддерживается на Windows, Linux и MacOs (кроссплатформенная).
Пример кода на PyUSB:
import usb.core
import usb.util
# Найти устройство по VID и PID
dev = usb.core.find(idVendor=0x1234, idProduct=0x5678)
if dev is None:
raise ValueError("Устройство не найдено")
# Установить конфигурацию
dev.set_configuration()
# Отправить данные
dev.write(1, b'Hello USB')
Что такое PID и VID?
PID (Product id) - это идентификатор продукта. Он придумывается производителем для какого-либо устройства
VID (Vendor id) - это идентификатор производителя. Он назначается организацией USB-IF (официальная ассоциация USB)
👉 Вместе VID и PID полностью идентифицируют конкретную модель устройства
Вот пример кода для того чтобы узнать VID, PID и название продукта (product):
import usb.core
for dev in usb.core.find(find_all=True):
print(hex(dev.idVendor), hex(dev.idProduct), dev.product)
✨ Есть конечно и библиотеки получше, чем PyUSB (например, hidapi (или hid), pyserial), но пока что решил рассказать про неё ✨
Документация 👉 PyUSB 👈
Превращаем голос в текст 🔥
Чтобы перевести голос в текст в python можно воспользоваться библиотекой speech_recognition.
Speech_recognition - библиотека для распознавания речи в python. Она поддерживает несколько движков и API
Установка:
Пример с обработкой звука из микрофона:
В этом примере мы используем эту библиотеку для распознавания записанной нами речи через микрофон.
Эта библиотека также поддерживает работу с файлами (перевод звуков из файла в текст):
✨ Эта библиотека подходит для распознавания голоса и его перевода в текст, но чаще всего используют другие библиотеки, но для начала её хватит ✨
Чтобы перевести голос в текст в python можно воспользоваться библиотекой speech_recognition.
Speech_recognition - библиотека для распознавания речи в python. Она поддерживает несколько движков и API
Установка:
pip install SpeechRecognition
# Для работы с микрофоном
pip install pyaudio
Пример с обработкой звука из микрофона:
import speech_recognition as sr
# Создаем распознаватель
recognizer = sr.Recognizer()
def recognize_speech():
with sr.Microphone() as source:
print("Скажите что-нибудь...")
# Настройка для уменьшения шума
recognizer.adjust_for_ambient_noise(source, duration=1)
# Запись аудио
audio = recognizer.listen(source, timeout=5)
# Распознавание через Google
text = recognizer.recognize_google(audio, language="ru-RU")
print(f"Вы сказали: {text}")
recognize_speech()
В этом примере мы используем эту библиотеку для распознавания записанной нами речи через микрофон.
Эта библиотека также поддерживает работу с файлами (перевод звуков из файла в текст):
import speech_recognition as sr
def recognize_from_file(filename):
recognizer = sr.Recognizer()
with sr.AudioFile(filename) as source:
# Чтение всего аудиофайла
audio = recognizer.record(source)
text = recognizer.recognize_google(audio, language="ru-RU")
return text
# Использование
result = recognize_from_file("audio.wav")
print(result)
✨ Эта библиотека подходит для распознавания голоса и его перевода в текст, но чаще всего используют другие библиотеки, но для начала её хватит ✨
Библиотека socket в python 🐍
Socket - это библиотека для обмена данными между компьютерами. С её помощью можно установить соединение какого-либо компьютера (клиента) к другому компьютеру (серверу) и по сети передавать данные. Эта библиотека кроссплатформенная (подходит для Linux, Windows, MacOs). Также она поддерживает различные протоколы (TCP, UPD, RAW сокеты).
Пример кода клиента:
Пример сервера с socket:
Семейства адресов, которые может использовать socket:
1. Socket.AF_INET - это IPv4
2. Socket.AF_INET6 - это IPv6
3. Socket.AF_UNIX - это UNIX-сокеты
Типы сокетов:
1. Socket.SOCK_STREAM - TCP (надёжный, с установкой соединения)
2. Socket.SOCK_DGRAM - UPD (ненадёжный, без соединения)
✨ С помощью библиотеки socket можно реализовать простейший мессенджер в консоли, чтобы обмениваться информацией с клиентом и сервером ✨
Socket - это библиотека для обмена данными между компьютерами. С её помощью можно установить соединение какого-либо компьютера (клиента) к другому компьютеру (серверу) и по сети передавать данные. Эта библиотека кроссплатформенная (подходит для Linux, Windows, MacOs). Также она поддерживает различные протоколы (TCP, UPD, RAW сокеты).
Пример кода клиента:
import socket
def start_client():
# создаём объект сокета с TCP подключением к IPv4
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# подключаем клиента к серверу
client_socket.connect(('localhost', 12345))
message = "Привет, сервер!"
# отправляем сообщение серверу
client_socket.sendall(message.encode())
# получаем ответ от сервера
response = client_socket.recv(1024)
print(f"Ответ сервера: {response.decode()}")
# закрываем сокет
client_socket.close()
if __name__ == "__main__":
start_client()
Пример сервера с socket:
import socket
def start_server():
# создаём объект сокета для сервера с TCP подключением и IPv4
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# привязываем к адресу и порту server_socket.bind(('localhost', 12345))
# слушаем
server_socket.listen(1)
print("Сервер запущен...")
while True:
# принимаем подключение клиента
client_socket, addr = server_socket.accept()
print(f"Подключен клиент: {addr}")
# получаем данные от клиента
data = client_socket.recv(1024)
print(f"Получено: {data.decode()}")
# Отправляем данные обратно
client_socket.sendall(data)
client_socket.close()
if __name__ == "__main__":
start_server()
Семейства адресов, которые может использовать socket:
1. Socket.AF_INET - это IPv4
2. Socket.AF_INET6 - это IPv6
3. Socket.AF_UNIX - это UNIX-сокеты
Типы сокетов:
1. Socket.SOCK_STREAM - TCP (надёжный, с установкой соединения)
2. Socket.SOCK_DGRAM - UPD (ненадёжный, без соединения)
✨ С помощью библиотеки socket можно реализовать простейший мессенджер в консоли, чтобы обмениваться информацией с клиентом и сервером ✨
hand.py
4.3 KB
Программа на Mediapipe для распознавания 7 жестов рук (палец вверх/вниз, ножницы, бумага, камень, рок 🤟, указательный палец вверх)
Требования 🛠️
- Python 3.10
- MediaPipe
- NumPy
- OpenCV
✨ Также этот скрипт есть на моём 👉 GitHub 👈 с зависимостями ✨
Требования 🛠️
- Python 3.10
- MediaPipe
- NumPy
- OpenCV
✨ Также этот скрипт есть на моём 👉 GitHub 👈 с зависимостями ✨
Библиотека NLTK в python 🐍
NLTK (Natural Language Toolkit) — это ведущая платформа для работы с естественным языком (NLP) в Python. Она предоставляет простые в использовании интерфейсы для более чем 50 корпусов и лексических ресурсов, а также набор библиотек для классификации, токенизации, стемминга, тегирования, синтаксического анализа и семантических рассуждений.
Установка NLTK:
Настройка:
🔥 Токенизация - это разбиение текста на слова, предложения и т.д
Пример токенизации в NLTK:
🔥 Стемминг и лематизация - приведение слов к их базовой форме.
Пример стемминга в NLTK:
🔥 Тегирование - присвоение меток элементам текста.
Пример тегирования текста по частям речи в NLTK:
Теги для определения части речи:
- NN это существительное единственного числа
- NNS это существительное множественного числа
-VB это глагол в неопределённой форме
-VBD это глагол в прошедшем времени
- VBG это причастие
- JJ это прилагательное
- RB это наречие
- DT это определитель (the, a в английском)
- IN это предлог
- PRP это личное местоимение
🔥 Работа со стоп словами
Пример удаления малозначимых слов в NLTK:
🔥 Анализ тональности
Пример анализа тональности в NLTK:
✨ Библиотеку NLTK можно использовать в работе нейросетей, например, для извлечения полезной информации из текста, который дал пользователь ✨
NLTK (Natural Language Toolkit) — это ведущая платформа для работы с естественным языком (NLP) в Python. Она предоставляет простые в использовании интерфейсы для более чем 50 корпусов и лексических ресурсов, а также набор библиотек для классификации, токенизации, стемминга, тегирования, синтаксического анализа и семантических рассуждений.
Установка NLTK:
pip install nltk
Настройка:
import nltk
# Загрузка необходимых ресурсов
nltk.download('punkt') # Токенизатор
nltk.download('stopwords') # Стоп-слова
nltk.download('wordnet') # Лемматизатор
nltk.download('averaged_perceptron_tagger') # POS-теггер
🔥 Токенизация - это разбиение текста на слова, предложения и т.д
Пример токенизации в NLTK:
import nltk
from nltk.tokenize import word_tokenize, sent_tokenize
text = "Hello world! This is NLTK. It's awesome."
sentences = sent_tokenize(text) # Разбиение на предложения
words = word_tokenize(text) # Разбиение на слова
print(sentences) # ['Hello world!', 'This is NLTK.', "It's awesome."]
print(words) # ['Hello', 'world', '!', 'This', 'is', 'NLTK', '.', 'It', "'s", 'awesome', '.']
🔥 Стемминг и лематизация - приведение слов к их базовой форме.
Пример стемминга в NLTK:
from nltk.stem import PorterStemmer, WordNetLemmatizer
stemmer = PorterStemmer()
lemmatizer = WordNetLemmatizer()
words = ["running", "flies", "happily", "better"]
stems = [stemmer.stem(word) for word in words]
lemmas = [lemmatizer.lemmatize(word) for word in words]
print(stems) # ['run', 'fli', 'happili', 'better']
print(lemmas) # ['running', 'fly', 'happily', 'better']
🔥 Тегирование - присвоение меток элементам текста.
Пример тегирования текста по частям речи в NLTK:
import nltk
from nltk import pos_tag
from nltk.tokenize import word_tokenize
text = "The quick brown fox jumps over the lazy dog"
tokens = word_tokenize(text)
tags = pos_tag(tokens)
print(tags)
# [('The', 'DT'), ('quick', 'JJ'), ('brown', 'JJ'), ('fox', 'NN'),
# ('jumps', 'VBZ'), ('over', 'IN'), ('the', 'DT'), ('lazy', 'JJ'), ('dog', 'NN')]
Теги для определения части речи:
- NN это существительное единственного числа
- NNS это существительное множественного числа
-VB это глагол в неопределённой форме
-VBD это глагол в прошедшем времени
- VBG это причастие
- JJ это прилагательное
- RB это наречие
- DT это определитель (the, a в английском)
- IN это предлог
- PRP это личное местоимение
🔥 Работа со стоп словами
Пример удаления малозначимых слов в NLTK:
from nltk.corpus import stopwords
nltk.download('stopwords')
stop_words = set(stopwords.words('english'))
text = "This is a sample sentence showing off stop word filtration"
words = word_tokenize(text)
filtered_words = [word for word in words if word.lower() not in stop_words]
print(filtered_words) # ['sample', 'sentence', 'showing', 'stop', 'word', 'filtration']
🔥 Анализ тональности
Пример анализа тональности в NLTK:
from nltk.sentiment import SentimentIntensityAnalyzer
nltk.download('vader_lexicon')
sia = SentimentIntensityAnalyzer()
text = "I love this product! It's amazing."
scores = sia.polarity_scores(text)
print(scores) # {'neg': 0.0, 'neu': 0.294, 'pos': 0.706, 'compound': 0.8516}
✨ Библиотеку NLTK можно использовать в работе нейросетей, например, для извлечения полезной информации из текста, который дал пользователь ✨
neiro.py
4.8 KB
Всем привет 👋
Я создал новую нейросеть - КОРНЕПЛОД. Эта нейросеть умеет определять что изображено на изображении (но на изображениях должны быть изображены только самолёты, коты, собаки, олени, лягушки, фуры, автомобили, корабли, лошади и птицы).
Зависимости (есть на GitHub в файле requirements.txt):
- Tensorflow 2.13.0
- NumPy 1.24.3
- Pillow 10.4.0
Скрипт работает на версии Python 3.8
Проект на 👉 Github 👈
#project #python #neiro_python_korneplod
Я создал новую нейросеть - КОРНЕПЛОД. Эта нейросеть умеет определять что изображено на изображении (но на изображениях должны быть изображены только самолёты, коты, собаки, олени, лягушки, фуры, автомобили, корабли, лошади и птицы).
Зависимости (есть на GitHub в файле requirements.txt):
- Tensorflow 2.13.0
- NumPy 1.24.3
- Pillow 10.4.0
Скрипт работает на версии Python 3.8
Проект на 👉 Github 👈
#project #python #neiro_python_korneplod
emotions.py
2.9 KB
Привет всем 👋
Сделал новый скрипт, который определяет какую эмоцию показывает лицо на изображении с помощью библиотек RetinaFace, DeepFace и Pillow
Технологии:
- Python 3.8
- DeepFace
- RetinaFace
- Pillow
Также работа есть на 👉 GitHub 👈
#project #python #emotions_python_deepface
Сделал новый скрипт, который определяет какую эмоцию показывает лицо на изображении с помощью библиотек RetinaFace, DeepFace и Pillow
Технологии:
- Python 3.8
- DeepFace
- RetinaFace
- Pillow
Также работа есть на 👉 GitHub 👈
#project #python #emotions_python_deepface
[*] pr0gramm1ng basics
emotions.py
Вот проводил тест для этой программы. Она обводит лицо человека на фото (если оно есть) и пишет эмоцию (например sad, happy)
Привет 👋
Я думаю многие из вас пытались сделать свой сайт. Но написание кода для этого сайта это только пол беды, ведь после написания сайта, его надо его выложить в интернет. Для этого надо сделать его хостинг и зарегистрировать доменное имя (и это всё не бесплатно). Но для этого есть решение 🧐
GitHub Pages 📃 - это бесплатный хостинг своего сайта при помощи аккаунта GitHub. Для этого надо создать репозиторий с названием: username.github.io, где username - это название вашего GitHub аккаунта (например если название аккаунта - Octocat, то репозиторий должен называться octocat.github.io)
Если у вас уже есть файлы сайта (.html, .css и .js), то их можно добавить и ваш сайта должен быть доступен в браузере. Если у вас нет файлов для сайта, то просто добавьте файл README.md (его GitHub Pages воспримет как файл .html и создаст вам сайт)
🔗 Как найти ссылку, которая будет вести к вашему сайту?
Для этого в вашем репозиторий перейдите в Настройки (Settings) -> Станицы (Pages). В этом разделе и должна быть ваша ссылка. А если не нашли её, то она должна выглядеть так: https://username.github.io (где username - это ваш ник в GitHub)
✨ Вообщем если вы хотите бесплатно залить свой сайт в интернет, то используйте GitHub Pages 📃 ✨
Я думаю многие из вас пытались сделать свой сайт. Но написание кода для этого сайта это только пол беды, ведь после написания сайта, его надо его выложить в интернет. Для этого надо сделать его хостинг и зарегистрировать доменное имя (и это всё не бесплатно). Но для этого есть решение 🧐
GitHub Pages 📃 - это бесплатный хостинг своего сайта при помощи аккаунта GitHub. Для этого надо создать репозиторий с названием: username.github.io, где username - это название вашего GitHub аккаунта (например если название аккаунта - Octocat, то репозиторий должен называться octocat.github.io)
Если у вас уже есть файлы сайта (.html, .css и .js), то их можно добавить и ваш сайта должен быть доступен в браузере. Если у вас нет файлов для сайта, то просто добавьте файл README.md (его GitHub Pages воспримет как файл .html и создаст вам сайт)
🔗 Как найти ссылку, которая будет вести к вашему сайту?
Для этого в вашем репозиторий перейдите в Настройки (Settings) -> Станицы (Pages). В этом разделе и должна быть ваша ссылка. А если не нашли её, то она должна выглядеть так: https://username.github.io (где username - это ваш ник в GitHub)
✨ Вообщем если вы хотите бесплатно залить свой сайт в интернет, то используйте GitHub Pages 📃 ✨
👍1
Фреймворк Playwright в python 🐍
🔗 Playwright - это мощный фреймворк для автоматизации браузеров. С его помощью можно имитировать действия пользователя на сайте (например, проходить авторизацию пользователя, кликать, парсить данные). Этот фреймворк поддерживает три основных браузерных движка: Chromium, Firefox и Webkit.
⚡ Установка Playwright:
🔥 Установка браузеров:
Пример кода с использованием фреймворка Playwright:
✨ Этот фреймворк поможет в автоматизации работы на сайте (или например, автоматической проверки вашего сайта в браузере) ✨
#python #libraries
🔗 Playwright - это мощный фреймворк для автоматизации браузеров. С его помощью можно имитировать действия пользователя на сайте (например, проходить авторизацию пользователя, кликать, парсить данные). Этот фреймворк поддерживает три основных браузерных движка: Chromium, Firefox и Webkit.
⚡ Установка Playwright:
pip install playwright
🔥 Установка браузеров:
# все браузеры
playwright install
# какого-то одного браузера
playwright install chromium
# какого-то одного браузера с какой-то определенной версией
playwright install chromium@latest
Пример кода с использованием фреймворка Playwright:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
# запускаем браузер
browser = p.chromium.launch(headless=False) # headless=False чтобы видеть браузер
page = browser.new_page()
# идем на страницу
page.goto("https://httpbin.org/forms/post")
# заполняем форму
page.locator('input[name="custname"]').fill("Иван Иванов")
page.locator('input[value="medium"]').check()
page.locator('textarea[name="comments"]').fill("Автоматизированный комментарий!")
# делаем скриншот до отправки
page.screenshot(path="form_filled.png")
# кликаем кнопку отправки
page.locator('text=Submit').click()
# делаем скриншот результата
page.screenshot(path="form_result.png")
# закрываем браузер
browser.close()
✨ Этот фреймворк поможет в автоматизации работы на сайте (или например, автоматической проверки вашего сайта в браузере) ✨
#python #libraries
🔥1
Почему библиотека Pathlib лучше, чем os для работы с файлами в python 🐍
🌟 Простите, что так долго не было постов. Сегодня я решил в этом посте затронуть тему работы с файлами на python с помощью библиотеки os и библиотеки Pathlib и сравнить их.
⁉️ Почему библиотека Pathlib (Я считаю) лучше, чем os?
🧑🦳 1. Os это уже довольно старая библиотека. Pathlib предлагает нам новый подход к работе с папками и файлами. Например, как будет выглядеть код для объединения путей на os:
И как на Pathlib:
👀 Я думаю разница видна.
📝 2. Библиотека Pathlib будет более читабельной и удобной, чем os.
⚡ Можете просто сравнить два выше показанных кода
🔥 3. Библиотека Pathlib кроссплатформенная
🤖 В отличие от библиотеки os, библиотека Pathlib является кроссплатформенная. Она сама подстраивается к вашей операционной системе.
🔥 4. Объектно-ориентированный подход
💨 У библиотеки Pathlib при создании какого либо путя с помощью Path, создаётся объект класса Path, что позволяет работать с его атрибутами. У os этого нет, поэтому приходится работать просто со строками
✨ Таким образом, в своих проектах лучше использовать библиотеку Pathlib, так как с её помощью код будет чище и читабельнее. Также она является более современной, чем библиотека os, но выбор всё равно за вами ✨
#python #libraries
🌟 Простите, что так долго не было постов. Сегодня я решил в этом посте затронуть тему работы с файлами на python с помощью библиотеки os и библиотеки Pathlib и сравнить их.
⁉️ Почему библиотека Pathlib (Я считаю) лучше, чем os?
🧑🦳 1. Os это уже довольно старая библиотека. Pathlib предлагает нам новый подход к работе с папками и файлами. Например, как будет выглядеть код для объединения путей на os:
import os
path = os.path.join("data", "raw", "input.json")
print(path) # 'data/raw/input.json'
И как на Pathlib:
from pathlib import Path
path = Path('data') / 'raw' / 'input.json'
print(path) # data/raw/input.json
👀 Я думаю разница видна.
📝 2. Библиотека Pathlib будет более читабельной и удобной, чем os.
⚡ Можете просто сравнить два выше показанных кода
🔥 3. Библиотека Pathlib кроссплатформенная
🤖 В отличие от библиотеки os, библиотека Pathlib является кроссплатформенная. Она сама подстраивается к вашей операционной системе.
🔥 4. Объектно-ориентированный подход
💨 У библиотеки Pathlib при создании какого либо путя с помощью Path, создаётся объект класса Path, что позволяет работать с его атрибутами. У os этого нет, поэтому приходится работать просто со строками
✨ Таким образом, в своих проектах лучше использовать библиотеку Pathlib, так как с её помощью код будет чище и читабельнее. Также она является более современной, чем библиотека os, но выбор всё равно за вами ✨
#python #libraries
🔥1
[*] pr0gramm1ng basics
Photo
Всем привет 👋
(😓 Сорян за отсутствие, делаю новый проект почти на 1000 строк кода. Скоро появится здесь, на гитхабе и в тик токе)
🔗 Matplotlib - мощная и гибкая библиотека для создания самых разных анимированных и интерактивных графиков. Эта библиотека может создавать: линейные графики, столбчатые диаграммы, гистограммы, круговые диаграммы и многое другое
😎 Для создания графиков в основном mathplotlib использует pyplot
⚡ Вот пример графика синусоиды:
🔥 На изображении показан график, который мне выдал mathplotlib. Если увеличить в linspace 2 параметр (вместо 10 псотавить другое число), то синусоида будет либо увеличиваться или уменьшаться
✨ Вообщем, для создания графиков лучше всего использовать matplotlib. Также к этой библиотеке есть дополнение (по моему seaborn) ✨
#python #libraries
(😓 Сорян за отсутствие, делаю новый проект почти на 1000 строк кода. Скоро появится здесь, на гитхабе и в тик токе)
🔗 Matplotlib - мощная и гибкая библиотека для создания самых разных анимированных и интерактивных графиков. Эта библиотека может создавать: линейные графики, столбчатые диаграммы, гистограммы, круговые диаграммы и многое другое
😎 Для создания графиков в основном mathplotlib использует pyplot
⚡ Вот пример графика синусоиды:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100) #создаём массив из 100 равномерно распределённых чисел от 0 до 10 включительно
y = np.sin(x) #вычимляеи синус каждого элемента массива
plt.figure(figsize=(10, 6)) #создаём новый график 10 на 6 дюймов
plt.plot(x, y, 'b-', linewidth=2, label='sin(x)') #создаём график, где по оси x мы ставим значение переменной x, по оси y ставим значения y
# 'b-' - создаём линию из - синего (blue) цвета
# linewidth - устанавливаем толщину линий графика
# label - задаём метку для legend()
plt.title('Синусоида') #устанавливаем заголовок
plt.xlabel('X') #подписываем ось x
plt.ylabel('Y') #подписываем ось y
plt.legend() #отображаем легенду на графике
plt.grid(True) #включаем отображение сетки
plt.show() #показываем график
# или
plt.savefig('graphic.png') #сохраняем график в файл
plt.close() #освобождаем память от фигур
🔥 На изображении показан график, который мне выдал mathplotlib. Если увеличить в linspace 2 параметр (вместо 10 псотавить другое число), то синусоида будет либо увеличиваться или уменьшаться
✨ Вообщем, для создания графиков лучше всего использовать matplotlib. Также к этой библиотеке есть дополнение (по моему seaborn) ✨
#python #libraries
🔥1