Сегодня мы прокачаем PostgreSQL, добавив в него Python. А именно — PL/Python. Это расширение позволяет писать функции на Python прямо внутри базы данных. Лично для меня это как объединение двух лучших миров: любимого PostgreSQL и могучего Python.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как найти собственные числа и собственные значения матрицы? Методы, излагаемые в курсе линейной алгебры, основанные на определении — применимы ли они к реальным данным? Существует ли простой алгоритм поиска этих величин, который можно понять, а не просто поверить?
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья расскажет о том, как адаптировать старый код для работы с асинхронными библиотеками в Python, используя asyncio, и как GIL ограничивает многопоточность в языке, несмотря на асинхронный подход.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Мечтаешь о коде, который работает как швейцарские часы? Паттерн «Одиночка» может стать тем самым механизмом, который заставит все шестеренки крутиться идеально.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Рассказываем, в чем их особенности и как их можно интегрировать в разработку.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Поговорим об использовании библиотеки OpenCV при решении задач машинного зрения в контексте развертывания в продакшен-среде.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-приложение, которое принимает путь к текстовому файлу в качестве аргумента командной строки и подсчитывает частоту появления каждого слова в файле. Программа должна выводить результаты в консоль и сохранять их в файл
word_count.json
.Программа должна уметь выводить статистику по папке в консоль и сохранять её в файл.
•
python app.py report file.txt
— создает файл word_count.json с частотой появления каждого слова в файле.•
python app.py print file.txt
— выводит статистику по словам в консоль.Решение задачи
import sys
import json
from collections import Counter
import os
def count_words(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
text =file.read ().lower()
words = text.split()
return Counter(words)
def save_report(file_path, word_count):
report_path = os.path.splitext(file_path)[0] + '_word_count.json'
with open(report_path, 'w', encoding='utf-8') as report_file:
json.dump(word_count, report_file, ensure_ascii=False, indent=4)
print(f'Отчет сохранен в {report_path}')
def print_report(word_count):
for word, count in word_count.items():
print(f'{word}: {count}')
if __name__ == '__main__':
if len(sys.argv) < 3:
print('Используйте: pythonapp.py <report|print> <путь к файлу>')
sys.exit(1)
action = sys.argv[1]
file_path = sys.argv[2]
if not os.path.isfile(file_path):
print(f'Файл {file_path} не найден.')
sys.exit(1)
word_count = count_words(file_path)
if action == 'report':
save_report(file_path, word_count)
elif action == 'print':
print_report(word_count)
else:
print('Неизвестное действие. Используйте "report" или "print".')
Please open Telegram to view this post
VIEW IN TELEGRAM
Бэктестинг — мощный инструмент, который помогает определить потенциальную доходность, выявить неоправданные риски и внести необходимые коррективы до того, как вы начнете торговать на реальные деньги.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом подробном руководстве мы рассмотрим все аспекты работы с PyCharm: от установки и настройки до продвинутых функций и полезных плагинов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Blurhash — компактный способ представления размытой превьюшки изображения в виде ASCII-строки, разработанный Wolt. Решил внедрить его в API, но скорость работы всегда вызывала вопросы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет выведено в консоль при выполнении данного кода?
def extend_list(val, lst=[]):
lst.append(val)
return lst
list1 = extend_list(10)
list2 = extend_list(123, [])
list3 = extend_list('a')
print(list1)
print(list2)
print(list3)
Please open Telegram to view this post
VIEW IN TELEGRAM
Пришло время для гайда по асинхронной версии SQLAlchemy 2.0. В статье разберем создание моделей, связи, миграции с Alembic и работу с базами данных, включая PostgreSQL и другие.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандартная библиотека Python – это кладезь возможностей. Мы представляем семь недооцененных модулей, которые помогут вам улучшить организацию данных, оптимизировать производительность и упростить распространение ваших программ.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Python – это мощный, гибкий и простой в освоении язык программирования, который стал одним из самых популярных в мире. От веб-разработки до искусственного интеллекта, Python находит применение в различных сферах IT-индустрии. Разбираемся, почему Python так востребован и как он может стать вашим билетом в мир высоких технологий.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-приложение, которое будет принимать путь к текстовому файлу и шифровать его содержимое с помощью алгоритма Цезаря (Caesar Cipher).
Программа должна уметь шифровать текст с помощью сдвига, указанного пользователем, и сохранять зашифрованное сообщение в новый файл. Программа также должна уметь расшифровывать файлы, зашифрованные с помощью того же сдвига.
•
python app.py encrypt input.txt 3
— шифрует содержимое файла input.txt со сдвигом 3 и сохраняет его в encrypted.txt.•
python app.py decrypt encrypted.txt 3
— расшифровывает файл encrypted.txt со сдвигом 3 и выводит расшифрованный текст в консоль.Решение задачи
import sys
def caesar_cipher(text, shift):
encrypted_text = []
for char in text:
if char.isalpha():
shift_base = 65 if char.isupper() else 97
encrypted_char = chr((ord(char) - shift_base + shift) % 26 + shift_base)
encrypted_text.append(encrypted_char)
else:
encrypted_text.append(char)
return ''.join(encrypted_text)
def encrypt_file(input_file, shift):
with open(input_file, 'r', encoding='utf-8') as file:
text =file.read ()
encrypted_text = caesar_cipher(text, shift)
with open('encrypted.txt', 'w', encoding='utf-8') as file:
file.write(encrypted_text)
print(f'Файл зашифрован и сохранен в "encrypted.txt"')
def decrypt_file(input_file, shift):
with open(input_file, 'r', encoding='utf-8') as file:
encrypted_text =file.read ()
decrypted_text = caesar_cipher(encrypted_text, -shift)
print('Расшифрованное сообщение:')
print(decrypted_text)
if __name__ == '__main__':
if len(sys.argv) != 4:
print('Используйте: pythonapp.py <encrypt|decrypt> <путь к файлу> <сдвиг>')
sys.exit(1)
action = sys.argv[1]
file_path = sys.argv[2]
shift = int(sys.argv[3])
if action == 'encrypt':
encrypt_file(file_path, shift)
elif action == 'decrypt':
decrypt_file(file_path, shift)
else:
print('Неизвестное действие. Используйте "encrypt" или "decrypt".')
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье мы рассмотрим основные принципы работы жадных алгоритмов, их преимущества и недостатки, а также разберем несколько практических примеров их применения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Краткая инструкция по публикации Python-пакетов на PyPI. Узнайте, как структурировать проект, настроить метаданные и загрузить свой пакет в репозиторий.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🕵️ 5 лучших Python инструментов для специалистов по кибербезопасности
В данной статье представлен обзор пяти высокоэффективных инструментов на базе языка Python, применяемых в сфере информационной безопасности. Рассматриваются их ключевые функции и области применения.
Читать...
В данной статье представлен обзор пяти высокоэффективных инструментов на базе языка Python, применяемых в сфере информационной безопасности. Рассматриваются их ключевые функции и области применения.
Читать...
Что будет выведено в консоль при выполнении следующего кода?
class A:
def __init__(self):
self.value = 5
def __add__(self, other):
return A()
a = A()
b = A()
c = a + b
c.value = 10
print(a.value)
Please open Telegram to view this post
VIEW IN TELEGRAM