Похожие элементы

Объектно-ориентированный язык программирования Python является одним из наиболее востребованных на 2021 год на ИТ-рынке

Автор - Ван Россум, Гвидо - Нидерланды

Установка машины разработчика на Microsoft Windows 10

Материалы для изучения языка (в порядке обнаружения)

Интересные библиотеки

NetworkX - работа с графами

 Работа с файлами

Microsoft

Работа с базами данных

MySQL

Источники

Пример программы:

 
import mysql.connector
from mysql.connector import connect, Error

print("MySQL Connector/Python version: {0}".format(mysql.connector.__version__))

print("Version as tuple:")
print(mysql.connector.__version_info__)
print("")
print("API level: {0}".format(mysql.connector.apilevel))
print("Parameter style: {0}".format(mysql.connector.paramstyle))
print("Thread safe: {0}".format(mysql.connector.threadsafety))

try:
    connection = connect(
        host="ivlytkin.beget.tech",
        user="ivlytkin_zenmon",
        password="пароль",
        database="ivlytkin_zenmon",
    )
    print(connection)

    if connection.is_connected():
        db_Info = connection.get_server_info()
        print("Connected to MySQL Server version ", db_Info)
        cursor = connection.cursor()
        cursor.execute("select database();")
        record = cursor.fetchone()
        print("You're connected to database: ", record)

    show_db_query: str = "SHOW DATABASES"
    with connection.cursor() as cursor:
        cursor.execute(show_db_query)
        for db in cursor:
            print(db)

    print(connection)

    create_movies_table_query = """
    CREATE TABLE movies(
        id INT AUTO_INCREMENT PRIMARY KEY,
        title VARCHAR(100),
        release_year YEAR(4),
        genre VARCHAR(100),
        collection_in_mil INT
    )
    """
    with connection.cursor() as cursor:
        cursor.execute(create_movies_table_query)
        connection.commit()

    create_reviewers_table_query = """
    CREATE TABLE reviewers (
        id INT AUTO_INCREMENT PRIMARY KEY,
        first_name VARCHAR(100),
        last_name VARCHAR(100)
    )
    """

    with connection.cursor() as cursor:
        cursor.execute(create_reviewers_table_query)
        connection.commit()

    create_ratings_table_query = """
    CREATE TABLE ratings (
        movie_id INT,
        reviewer_id INT,
        rating DECIMAL(2,1),
        FOREIGN KEY(movie_id) REFERENCES movies(id),
        FOREIGN KEY(reviewer_id) REFERENCES reviewers(id),
        PRIMARY KEY(movie_id, reviewer_id)
    )
    """

    with connection.cursor() as cursor:
        cursor.execute(create_ratings_table_query)
        connection.commit()

except Error as e:
    print(e)

PostgreSQL

 

Анализ пакетов на Python

Positive Technologies - PyAnalisys - выявление подозрительных и вредоносных Python-пакетов.

PT PyAnalysis — сервис для выявления подозрительных и вредоносных Python-пакетов, который можно интегрировать в процесс безопасной разработки ПО. Cервис нацелен на анализ пакетов из глобального репозитория PyPI. Мы являемся независимыми аудиторами этого репозитория и за девять месяцев исследования нашли в нем более 200 вредоносных пакетов. C точки зрения пользователя сервис представляет собой API, который позволяет проверить пакет по его названию и получить вердикт относительно его функций: чистый, подозрительный, опасный.

Пример программы - TestPyAnalysis

Python Package Index

Указатель пакетов Python’а (Python Package Index — PyPI) — это хранилище программного обеспечения для языка программирования Python. PyPI помогает вам находить и устанавливать программное обеспечение, разработанное и распространяемое сообществом Python. Подробнее об установке пакетов.
Авторы пакетов используют PyPI для распространения своего программного обеспечения. Узнайте, как упаковать ваш Python-код для PyPI.

asyncio 

asyncio - это библиотека для написания параллельного кода с использованием синтаксиса async/await. asyncio используется в качестве основы для нескольких асинхронных фреймворков Python, которые обеспечивают высокопроизводительные сетевые и веб-серверы, библиотеки соединений с базами данных, распределенные очереди задач и т.д.

Pydanctic

Документация 

Изучить (из FAQ Михаила Крыжановского)

  • aiogram - основной python-фреймворк для разработки ботов
  • aiogram-dialog - управление диалогами
  • fluentogram - интернационализация
  • redis - хранилище ключ-значение, кэш
  • postgres - реляционная база данных
  • sqlalchemy - ORM
  • nats - очередь, FSM-storage
  • elastic - поисковый движок
  • fastAPI - API
  • taskiq - планировщик
  • clickhouse - колоночная база данных
  • prometheus/grafana - система мониторинга, аналитика
  • vector - логирование
  • kafka - очередь
  • manticore - поисковый движок
  • jaeger - трассировка сервисов
  • aiohttp - асинхронный HTTP-клиент/сервер

Data classes

Хабр

Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по умолчанию".