Pythoner
7.22K subscribers
862 photos
28 videos
4 files
657 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
👍8
Что выдаст код выше
Anonymous Quiz
28%
Error
6%
1 1
40%
1
6%
value
20%
False
👍53👏1🤓1
Разбор

В этом случае, значение "1 or value" вернет 1, так как оператор "или" (or) вернет первое истинное значение (1). Далее, оператор "and" будет проверять 1 and False, и так как второе значение False, результатом этого выражения будет False, однако это значение не будет использовано, так как первое значение уже было определено как 1. Следовательно, результатом всего выражения будет 1.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥53🤯2👀1
➡️Список с повторами:
>>> num = [4, 8, 5, 8]

Можно использовать множества для удаления повторов.

➡️Из списка сделаем множество, а из множества - список:

>>> list(set(num))
[8, 4, 5]

Мы действительно получили список уникальных элементов, вот только порядок нарушился.

➡️Начиная с Python 3.7 для этих целей подойдут словари, у них гарантированно сохраняется порядок вставки, а так же ключи являются уникальными.

>>> list(dict.fromkeys(num))
[4, 8, 5]

Создали словарь с ключами из num и значениями None, преобразовали в список

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍185🔥2
⬆️В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые.

➡️Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.

Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций.

➡️А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74👍2
Подход основан на CSPRNG, что гарантирует хорошую безопасность.

➡️Что такое CSPRNG?
Это стандарт, который расшифровывается как: Криптографически стойкий генератор псевдослучайных чисел. В отличие от обычных генераторов псевдослучайных чисел (PRNG), CSPRNG спроектированы так, чтобы быть устойчивыми к криптографическим атакам и обеспечивать высокий уровень безопасности.


➡️Основные преимущества:
1. CSPRNG нацелен на создание выходных данных, которые статистически неотличимы от истинной случайности. Это означает, что сгенерированные числа должны обладать свойствами случайности, такими как равномерное распределение и непредсказуемость.

2. Даже если злоумышленник знает алгоритм генератора и предыдущие выходные данные, он все равно не сможет вычислять будущие значения, так как данные непредсказуемы.

3. CSPRNG защищен от попытки предсказания данных и влияния на сгенерированные числа.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥2
Media is too big
VIEW IN TELEGRAM
➡️Trafilatura - это Python бибилиотека и инструмент командной строки для парсинга и сбора текста с сайтов.

Инструмент способен к сбору основного текста, метаданных и комментариев.

🖥Github

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍3
👍16🤣12😁51🤓1
➡️Функция casefold() в Python возвращает копию строки, в которой все символы приведены к нижнему регистру. Однако, в отличие от функции lower(), casefold() учитывает особенности ввода-вывода в различных языках, таких как турецкий, где некоторые символы могут быть приведены к другому символу при приведении к нижнему регистру.

s = "Привет, МИР!"
print(s.casefold()) # выведет "привет, мир!"

➡️Применение функции casefold()

Функция casefold() может быть полезна во многих задачах. Она может использоваться для сравнения строк без учета регистра. Это может быть полезно при поиске определенной строки в большом текстовом файле, где регистр может варьироваться.

Однако! есть некоторые особенности ее работы, которые следует учитывать. Во-первых, при использовании этой функции может произойти потеря данных, если символы не могут быть приведены к нижнему регистру. Во-вторых, эта функция может работать медленнее, чем другие функции для приведения к нижнему регистру, такие как lower().

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥3🤬1👌1
➡️Многопоточность в Python

Многопоточность - это метод, который позволяет коду выполняться параллельно. Это означает, что два или более куска кода могут работать одновременно, что делает обработку данных более эффективной. В Python для создания многопоточных программ можно использовать модуль threading. При использовании этого модуля, каждый цикл будет работать в своем собственном потоке, что позволяет им работать одновременно.

➡️Как создать 2 одновременных цикла

Для создания двух одновременно работающих циклов вам потребуется создать два потока. Каждый поток будет выполнять свой собственный цикл. Вот пример того, как это может выглядеть:

import threading
import time

def loop1():
for i in range(10):
print('Loop 1:', i)
time.sleep(1)

def loop2():
for i in range(10):
print('Loop 2:', i)
time.sleep(1)

thread1 = threading.Thread(target=loop1)
thread2 = threading.Thread(target=loop2)

thread1.start()
thread2.start()

thread1.join()
thread2.join()


В этом примере два цикла выполняются одновременно, каждый в своем собственном потоке.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143🔥2
🖥SQLAlchemy - это библиотека Python, которая обеспечивает доступ к базам данных с помощью SQL-запросов. Она предоставляет набор инструментов для управления соединениями с базой данных, создания таблиц и выполнения запросов.

➡️ORM в SQLAlchemy

Одним из главных преимуществ SQLAlchemy является его ORM (Object-Relational Mapping) слой. ORM - это способ связать объекты Python с записями в базе данных. SQLAlchemy позволяет создавать классы Python, которые отображают таблицы в базе данных, и работать с ними как с обычными объектами. Это упрощает взаимодействие с базой данных и уменьшает количество кода, необходимого для выполнения задач.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84👀2🔥1
🤣21😢19😁3
➡️Описание функции help

Функция help в Python используется для получения справочной информации о встроенных функциях, методах, модулях, классах и объектах Python. Эта функция является очень полезным инструментом для изучения новых методов и библиотек, а также для получения помощи в решении проблем.

Чтобы использовать функцию help, просто вызовите ее и передайте объект, для которого вы хотите получить справочную информацию. Например, если вы хотите получить справочную информацию о функции print, вы можете вызвать функцию help следующим образом:

help(print)


Это приведет к выводу документации о функции print в вашем интерпретаторе Python.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥1
➡️Контекст выполнения (ctx)

Контекст выполнения (ctx) - это объект, который discord.py предоставляет каждой команде. Он содержит информацию об объекте Message, который вызвал команду, а также об объекте, который создал бота. Кроме того, ctx содержит информацию о сервере, на котором была вызвана команда, и о канале, в котором было отправлено сообщение.

➡️Использование контекста выполнения

Контекст выполнения (ctx) является обязательным аргументом для каждой команды.

Пример:

@bot.command()
async def hello(ctx):
await ctx.send("Привет, я бот!")

Как вы можете видеть, ctx используется для отправки сообщения в канал, в котором была вызвана команда.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2👀2
👍12😁10🤣6
➡️1. Пишите читабельный код

➡️2. Используйте понятные слова для обозначения переменных, функций и методов

➡️3. Пишите код так, чтобы любая функция или метод выполняли только одну задачу

➡️4. Используйте комментарии в качестве пояснений

➡️5. Будьте последовательны

➡️6. Регулярно проверяйте свой код

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154🔥2
➡️Наличие в корне файла requirements.txt — достаточно распространенное явление, тк он необходим для управления зависимостями, используемых в проекте.

➡️Как создать requirements.txt файл?
Вручную
, но можно ошибиться в названиях, версиях или пропустить библиотеку.

➡️Стандартом pip, но в файле будут отображены абсолютно все библиотеки python, уже установленные ранее и никак не относящиеся к текущему проекту.

Команда:
$ pip freeze > requirements.txt

➡️Использовать дополнительную библиотеку - pipreqs.

Установка:
$ pip install pipreqs

Для генерации файла requirements.txt нужно в команде указать путь до папки с проектом:

$ pipreqs /home/project/location

В указанной папке появится файл со списком зависимостей:

Successfully saved requirements file in /home/project/location/requirements.txt

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥1
Библиотеки и фреймворки Python для разных задач.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163🔥1
👍11🤣104
6