Что нового в Python 3.11.4: библиотека zoneinfo
Теперь timestamp без временной зоны со своим плюсом в виде читаемости можно использовать без опаски: с помощью zoneinfo к нему добавляется атрибут — данные о часовом поясе:
Документация
Теперь timestamp без временной зоны со своим плюсом в виде читаемости можно использовать без опаски: с помощью zoneinfo к нему добавляется атрибут — данные о часовом поясе:
from zoneinfo import ZoneInfofrom datetime import datetime, timedeltadt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))print(dt)2020-10-31 12:00:00-07:00dt.tzname()'PDT'Документация
👎2👏1
Обновлённый роадмап Data Science 2023
Если вы только подступились к Науке о данных, роадмап – хорошее средство сэкономить время. Так что представляем карту навыков глазами практикующего специалиста. На диаграмме Исикавы вы найдёте самые распространённые понятия и инструменты.
А подробнее — в статье по ссылке.
#карьера
Если вы только подступились к Науке о данных, роадмап – хорошее средство сэкономить время. Так что представляем карту навыков глазами практикующего специалиста. На диаграмме Исикавы вы найдёте самые распространённые понятия и инструменты.
А подробнее — в статье по ссылке.
#карьера
❤2🔥2👍1💩1
Библиотека для генерации одноразовых паролей
Двухфакторная аутентификация – это вполне подъёмно в первый же год кодинга на Python. С этим вам поможет библиотека PyOTP:
Ссылка на репозиторий
#otp #2fa
Двухфакторная аутентификация – это вполне подъёмно в первый же год кодинга на Python. С этим вам поможет библиотека PyOTP:
import pyotpimport timetotp = pyotp.TOTP('base32secret3232')totp.now() # => '492039'# OTP verified for current timetotp.verify('492039') # => Truetime.sleep(30)totp.verify('492039') # => FalseСсылка на репозиторий
#otp #2fa
👍10🔥4💩1
TypeVarTuple для кортежей с разными типами данных
Допустим, мы создаём функцию convert_first_int(), которая возвращает кортеж практически неизменным, только первый элемент приводит к целочисленному типу:
TypeVarTuple представляет собой произвольный кортеж потенциально разных типов. Нам это нужно, потому что функция имеет дело только с первым элементом кортежа. Поэтому нам необходим способ выразить, что мы разрешаем любые оставшиеся типы.
Спасибо подписчику @Trizalio за годную тему для поста.
#лучшиепрактики
Допустим, мы создаём функцию convert_first_int(), которая возвращает кортеж практически неизменным, только первый элемент приводит к целочисленному типу:
from typing import TypeVarTupleTs = TypeVarTuple("Ts")def convert_first_int(values: tuple[int|str|float, *Ts]) -> tuple[int, *Ts]: return (int(values[0]), *values[1:])print(repr(convert_first_int(("1", "2", "3"))))TypeVarTuple представляет собой произвольный кортеж потенциально разных типов. Нам это нужно, потому что функция имеет дело только с первым элементом кортежа. Поэтому нам необходим способ выразить, что мы разрешаем любые оставшиеся типы.
(1, '2', '3')Спасибо подписчику @Trizalio за годную тему для поста.
#лучшиепрактики
👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Двойственные ощущения вызывает этот тест крема Vim...
😁17🤔11👍4👎3❤2
LiteralString: Защита от SQL-инъекций
Внутрь текста (например, в поле формы) можно внедрить SQL-запрос и видоизменить базу данных. Начиная с Python 3.11 мы можем использовать LiteralString во избегание таких уязвимостей:
Спасибо подписчику @Trizalio за годную тему для поста.
#лучшиепрактики
Внутрь текста (например, в поле формы) можно внедрить SQL-запрос и видоизменить базу данных. Начиная с Python 3.11 мы можем использовать LiteralString во избегание таких уязвимостей:
def caller( arbitrary_string: str, query_string: LiteralString, table_name: LiteralString,) -> None: run_query("SELECT * FROM students") # ok run_query(query_string) # ok run_query("SELECT * FROM " + table_name) # ok run_query(arbitrary_string) # error run_query(f"SELECT * FROM students WHERE name = {arbitrary_string}" # error )Спасибо подписчику @Trizalio за годную тему для поста.
#лучшиепрактики
👍8
Что такое байт-код и как он поможет при дебаггинге
Мы нашли для вас качественную получасовую лекцию с PyCon Cleveland, где автор рассказывает, как читать байт-код и что полезного в нём можно найти в процессе отладки программы.
#дебаггинг
Мы нашли для вас качественную получасовую лекцию с PyCon Cleveland, где автор рассказывает, как читать байт-код и что полезного в нём можно найти в процессе отладки программы.
#дебаггинг
👎2😐1
Каким будет результат выполнения кода?
Anonymous Poll
7%
[10, 5,, 6]
16%
[10, 5, 6]
59%
[10, 6]
18%
Error
CustomTkinter
CustomTkinter предлагает широкий набор современных
настраиваемых UI-элементов. Они могут использоваться также, как обычные Tkinter-виджеты, а также комбинироваться с существующими.
Ссылка на репозиторий
#tkinter
CustomTkinter предлагает широкий набор современных
настраиваемых UI-элементов. Они могут использоваться также, как обычные Tkinter-виджеты, а также комбинироваться с существующими.
Ссылка на репозиторий
#tkinter
👍10
dbt — достойный конкурент Apache Kafka
ПО специализируется на преобразовании данных в ETL-процессах. Работает на базе Jinja, SQL и Python.
Илья Тищенко, ведущий архитектор хранилищ данных в Ростелекоме, сделал подробный обзор продукта. В его статье вы узнаете:
— где именно в extract-transform-load инструмент даёт больше возможностей;
— как установить фреймворк;
— как создать проект и проч.
#dbt #etl
ПО специализируется на преобразовании данных в ETL-процессах. Работает на базе Jinja, SQL и Python.
Илья Тищенко, ведущий архитектор хранилищ данных в Ростелекоме, сделал подробный обзор продукта. В его статье вы узнаете:
— где именно в extract-transform-load инструмент даёт больше возможностей;
— как установить фреймворк;
— как создать проект и проч.
#dbt #etl
💩5🤡3👍2❤1
Python стал самым популярным языком
В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.
#факты
В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.
#факты
❤🔥9👍6🤡5😁3👏2
Match для проверки типа
Порой трудно понять, что именно возвращает функция или метод. Не только содержимое, но и тип данных. Здесь помогут match и встроенные функции приведения к типам данных:
#лучшиепрактики
Порой трудно понять, что именно возвращает функция или метод. Не только содержимое, но и тип данных. Здесь помогут match и встроенные функции приведения к типам данных:
>>> var = 1>>> >>> match var:>>> case str():>>> print('Строковый тип')>>> case float():>>> print('Число с плавающей запятой')>>> case int():>>> print('Целочисленный тип')>>> case None:>>> print("None")>>> case _:>>> print('Другой тип данных')... Целочисленный тип#лучшиепрактики
👍17💩7🤡2
Media is too big
VIEW IN TELEGRAM
Работает – не трогай, или победитель рейтинга важнейших принципов программирования.
На видео – перекресток города Хошимин, Вьетнам.
На видео – перекресток города Хошимин, Вьетнам.
💩11❤🔥3😁3👍2