uz
Feedback
Python Hub - сборище Питонистов

Python Hub - сборище Питонистов

Kanalga Telegram’da o‘tish

Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат

Ko'proq ko'rsatish
1 711
Obunachilar
Ma'lumot yo'q24 soatlar
-107 kunlar
-1630 kunlar
Postlar arxiv
👩‍💻 Лучшие пакеты PyPi! Решил проверить, какие вообще самые популярные (по каким-то критериям, хз сам каким) библиотеки на
👩‍💻 Лучшие пакеты PyPi! Решил проверить, какие вообще самые популярные (по каким-то критериям, хз сам каким) библиотеки на PyPi PyPI (Python Package Index) — это официальный репозиторий пакетов для языка программирования Python. Здесь собраны тысячи библиотек, модулей и приложений, которые могут быть полезны для разработчиков Python. https://pypistats.org/top https://hugovk.github.io/top-pypi-packages/ Вот два ресурса. Мне понравился больше первый. Для ленивых предлагаю скрин! Стоит ли вообще сделать краткий обзор этих либ из списка?

▶️ Субботний чилловый видос с решением задач на CodeWars! ▶️ 😊 Уже на канале! https://www.youtube.com/watch?v=R3DGJ-iO12k

Были бы интересны видео, где пилим большой проект? Или лучше маленькие проекты на 10-15 минут?
Anonymous voting

‼️‼️ 📹 Думаю, что один из последних видосов по Tkinter вышел на канале! 📹 Есть тут еще олдовые любители Tk GUI? (показываю варианты реализации paint приложения, ссылаясь на авторов. Все исходники в описании) https://www.youtube.com/watch?v=YtTAdFCWsHc

Умер создатель языка программирования Pascal Николаус Вирт Ему было 89 лет. По данным iTWire, Вирт умер в своём доме в окруже
Умер создатель языка программирования Pascal Николаус Вирт Ему было 89 лет. По данным iTWire, Вирт умер в своём доме в окружении родных 1 января 2024 года. Почитать подробнее можно тут Кто из вас писал на паскале? 🖥

Разбор 👨‍💻 '2' + '2' —> '22' текстовый формат. При умножении текста на число, текст дублируется столько раз, чему равно число. В нашем случае '22' * 3 —> '222222' Если было бы, например 'hello' * 3 —> 'hellohellohello'

Что выдаст код выше?
Anonymous voting

❗️ Округление чисел в Python ➡️ Функция round() Один из самых простых способов округления числа в Python - использовать встро
❗️ Округление чисел в Python ➡️ Функция round() Один из самых простых способов округления числа в Python - использовать встроенную функцию round(). Функция round() округляет число до ближайшего целого значения. Например, если у нас есть число 3.7, функция round() округлит его до 4, а если у нас есть число 3.4, оно будет округлено до 3. Важно отметить, что если дробная часть числа равна 0.5, функция round() округлит число в сторону ближайшего четного значения. Например, число 2.5 будет округлено до 2, а число 3.5 будет округлено до 4.
num1 = 3.7
num2 = 3.4

rounded_num1 = round(num1)
rounded_num2 = round(num2)

print(rounded_num1)  # Output: 4
print(rounded_num2)  # Output: 3
➡️ Методы floor() и ceil() Кроме функции round(), в Python также доступны методы floor() и ceil(). Метод floor() округляет число до наибольшего целого значения, которое меньше или равно данному числу. Например, если у нас есть число 4.8, метод floor() округлит его до 4. С другой стороны, метод ceil() округляет число до наименьшего целого значения, которое больше или равно данному числу. Например, если у нас есть число 2.2, метод ceil() округлит его до 3.
import math

num = 4.8

floored_num = math.floor(num)
ceiled_num = math.ceil(num)

print(floored_num)  # Output: 4
print(ceiled_num)   # Output: 5
➡️ Модуль math Еще один способ округления чисел в Python - использование модуля math. Модуль math предоставляет различные функции для работы с числами, включая функции округления. Например, функция math.floor() эквивалентна методу floor(), а функция math.ceil() эквивалентна методу ceil(). Кроме того, модуль math также предоставляет функции округления вниз и вверх до ближайшего целого значения, а также функцию для округления до определенного количества знаков после запятой.
import math

num = 3.7

floored_num = math.floor(num)
ceiled_num = math.ceil(num)

print(floored_num)  # Output: 3
print(ceiled_num)   # Output: 4

Кэширование результатов функций в Python 🐍 💬 Что такое кеширование? Кеширование позволяет сохранять результаты выполнения функций, избегая повторных вычислений. Это полезно, особенно если функция часто вызывается с одними и теми же данными или выполняет сложные операции. ❓ Как это сделать? В Python есть модуль functools, включающий декоратор lru_cache, который автоматически кеширует результаты функции. 🥸 Зачем это нужно? Кеширование ускоряет программу, сохраняя результаты вычислений функций. Это особенно полезно при работе с большими данными или сложными расчетами. Пример:
from functools import lru_cache

@lru_cache(maxsize=20) # 20 - это максимальное количество "запоминаний" 
def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))  # Первый вызов - вычисляем
print(fibonacci(10))  # Результат уже закеширован
💻 Теперь вы знаете, как использовать кеширование в Python для улучшения производительности кода. Оставайтесь с нами для еще больше интересной информации о Python! 😉

🥳Привет, Python и не Python герои! 🐍 С наступающим 2024 годом! 🥳 От имени всей команды сообщества Shcoder, мы желаем вам б
🥳Привет, Python и не Python герои! 🐍 С наступающим 2024 годом! 🥳 От имени всей команды сообщества Shcoder, мы желаем вам бесконечного цикла успеха и счастья, чтобы ваш код всегда был чистым, а переменные — всегда именованными с любовью! 💻❤️ Пусть новый год принесет вам меньше багов, больше интересных проектов и нового опыта! 🎁🐞 Пусть ваши проекты будут масштабируемыми, а итерации — всегда успешными! 🔄🚀 Пусть у вас всегда будет актуальная и понятная документация! 📚🤝 С наступающим вас, Шкодеры! Пусть 2024 год будет полон новых версий ваших идей! 🥳🔍 🥳🥳🥳 УРА! 🥳🥳🥳

⭕️ Создать список, который хранит в себе объекты в Python (на примере списка с людьми) Python предоставляет нам множество воз
⭕️ Создать список, который хранит в себе объекты в Python (на примере списка с людьми) Python предоставляет нам множество возможностей для работы с данными. Одной из таких возможностей является использование списков для хранения объектов. Сейчас мы рассмотрим, как создать класс, создать объекты на основе этого класса, поместить эти объекты в список и обратиться к ним. 👀 1. Создание класса Для начала, давайте создадим класс, который будет представлять людей. Класс будет иметь атрибуты "имя" и "возраст". Вот пример такого класса:
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
👀 2. Создание объектов Теперь, когда у нас есть класс, мы можем создать объекты на его основе. Например, давайте создадим двух людей:
person1 = Person("John", 25)
person2 = Person("Alice", 30)
👀 3. Помещение объектов в список Чтобы поместить объекты в список, мы можем использовать метод append(). Например, чтобы создать список людей и добавить туда наших двух людей, мы можем написать следующий код:
people = []
people.append(person1)
people.append(person2)
Теперь у нас есть список people, в котором хранятся объекты, представляющие двух людей. 👀 4. Обращение к объектам в списке Чтобы обратиться к объектам в списке, мы можем использовать индексы. Например, чтобы получить имя первого человека в списке people, мы можем написать следующий код:
first_person_name = people[0].name
Теперь в переменной first_person_name будет храниться значение "John".

🤟 Суббота - время отдыхать и решать задачки на Codewars или leetcode? 🤟 💻 В этот раз задачи решаю на кодварс — закрываю год на любимом алгоритмическом сайте! https://youtu.be/6y19_r6XxvE

▶️ Вышел скучный, но полезный видос по Python! ▶️ ❗️В нем мы разбираем, что такое рекурсия на примерах❗️ Если формат зайдет, то продолжим в том же духе! https://www.youtube.com/watch?v=w3FlW2THtUk

🔐 Модуль secrets в Python: Защита вашей информации ✨ Модуль secrets предоставляет инструменты для создания безопасных случайных данных, сложнее предсказать. 🔑 Функции модуля secrets: 1. secrets.choice(sequence): Выбирает случайный элемент из последовательности. Полезно для генерации случайных выборок или паролей из определенного набора символов. 2. secrets.randbelow(n): Возвращает случайное число от 0 до n-1. Используется для генерации случайных чисел в определенном диапазоне. 3. secrets.randbits(k): Генерирует k случайных битов. Полезно для создания случайных битовых строк или чисел. 4. secrets.token_bytes(nbytes=None): Генерирует безопасную случайную последовательность байтов длиной nbytes (по умолчанию - 32 байта). 5. secrets.token_hex(nbytes=None): Генерирует безопасную случайную строку в шестнадцатеричном формате длиной nbytes (по умолчанию - 32 байта). 6. secrets.token_urlsafe(nbytes=None): Генерирует безопасную случайную URL-совместимую строку длиной nbytes (по умолчанию - 32 байта). 7. secrets.compare_digest(a, b): Сравнивает две строки для предотвращения временных атак. Это полезно при сравнении хэшей паролей или токенов без утечки информации о длине сравниваемых строк. 🔍 Почему использовать secrets лучше? - secrets предоставляет криптографически безопасные данные, что делает их сложными для предсказания. - Эти функции обеспечивают высокий уровень безопасности при генерации случайных данных, паролей и токенов в Python. Используйте модуль secrets для защиты вашей информации и обеспечения безопасности ваших данных в Python. 🔐✨

❕ Оператор моржа в Python :=❕ В программировании, оператор моржа в Python, также известный как оператор присваивания с услови
Оператор моржа в Python :=❕ В программировании, оператор моржа в Python, также известный как оператор присваивания с условием, является нововведением в версии Python 3.8. Он предоставляет удобный способ проверить условие и присвоить значение переменной, если условие истинно. Оператор моржа в Python обозначается двумя символами ":= ", за которыми следует символ ">" для сравнения. Этот оператор может быть использован в выражениях if и while, чтобы одновременно проверить условие и присвоить значение переменной. Например:
if (x := some_function()) > 10:
    print("x is greater than 10")
else:
    print("x is less than or equal to 10")
В этом примере, если значение, возвращаемое функцией some_function(), больше 10, то оно будет присвоено переменной x, и будет выведено сообщение "x is greater than 10". В противном случае будет выведено сообщение "x is less than or equal to 10". ➕ Преимущества использования оператора моржа Оператор моржа предлагает несколько преимуществ, которые могут значительно упростить кодирование. Во-первых, он позволяет объединить проверку условия и присваивание значения в одной строке, что делает код более компактным и легким для чтения. Во-вторых, он устраняет необходимость использования временных переменных для хранения результатов выражений, что уменьшает количество кода и повышает эффективность. Наконец, оператор моржа может быть использован в циклах, что позволяет более эффективно использовать ресурсы и улучшить производительность программы.

Разбор 👨‍💻 В переменную L будет помещен список [1, 1, 1, 2, 2, 2] Далее мы считаем длину set'a этого списка. set убирает все повторяющиеся элементы —> длина 1, 2 —> 2 Далее то же самое, только со всей длиной списка —> 6 Задача на внимательность: выводим выражение 2 in 6 —> мы не можем in'ом проверять int в int'е. Ответ: ошибка кто попался?💀

Что выдаст код выше?
Anonymous voting

❗️ Что такое Linked List в примере на Python'e? Linked List (связанный список) - это структура данных, которая позволяет хран
❗️ Что такое Linked List в примере на Python'e? Linked List (связанный список) - это структура данных, которая позволяет хранить и организовывать элементы в памяти компьютера. Он состоит из узлов, каждый из которых содержит данные и ссылку на следующий узел. Отличительной особенностью связанного списка является то, что элементы могут быть расположены в разных областях памяти и связаны между собой с помощью ссылок. 👩‍💻 Пример на Python Давайте рассмотрим пример создания связанного списка на языке программирования Python. Для начала, мы создадим класс Node, который будет представлять узел связанного списка. Каждый узел будет содержать данные и ссылку на следующий узел.
class Node:
    def __init__(self, data):
        self.data = data
        self.next = None
Затем мы создадим класс LinkedList, который будет представлять сам связанный список. У него будет ссылка на первый узел списка (голова).
class LinkedList:
    def __init__(self):
        self.head = None
Теперь мы можем добавить методы для работы со связанным списком, такие как добавление элемента и вывод списка.
class LinkedList:
    def __init__(self):
        self.head = None

    def append(self, data):
        new_node = Node(data)
        if self.head is None:
            self.head = new_node
        else:
            current = self.head
            while current.next:
                current = current.next
            current.next = new_node

    def display(self):
        current = self.head
        while current:
            print(current.data)
            current = current.next
Теперь мы можем создать экземпляр класса LinkedList и использовать его для создания и отображения связанного списка.
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display()
Вывод:
1
2
3
🧐 А приходилось ли вам где-то применять знания Linked List'ов?