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 751
Obunachilar
-124 soatlar
-57 kun
+330 kun
Postlar arxiv
▶️ Нужен проект сборщика стажировок со многих сайтов? Может по каким-то фильтрам даже? Какие вообще сайты кроме хабра и hh знаете, где можно искать стажировки? https://www.youtube.com/watch?v=Q3PMuGaOQzY

🌀 Создать 2 одновременно работающих цикла в Python ➡️ Многопоточность в Python Многопоточность - это метод, который позволяе
🌀 Создать 2 одновременно работающих цикла в Python ➡️ Многопоточность в 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()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()
В этом примере два цикла выполняются одновременно, каждый в своем собственном потоке. Попробуйте скопировать и проверить у себя самостоятельно!👨‍💻

🌴 Введение в двоичное дерево поиска (BST) с примерами на Python BST - это древовидная структура данных, в которой каждый узе
🌴 Введение в двоичное дерево поиска (BST) с примерами на Python BST - это древовидная структура данных, в которой каждый узел имеет максимум два потомка. Основное свойство BST заключается в том, что каждый узел на большее значение, чем все узлы в его левом поддереве и на меньшее значение, чем все узлы в его правом поддереве. Этот уникальный атрибут делает BST идеальным для быстрого поиска данных. ➡️ Пример BST на Python
class Node:
    def __init__(self, key):
        self.left = None
        self.right = None
        self.val = key

def insert(root, key):
    if root is None:
        return Node(key)
    else:
        if root.val < key:
            root.right = insert(root.right, key)
        else:
            root.left = insert(root.left, key)
    return root

def inorder(root):
    if root:
        inorder(root.left)
        print(root.val),
        inorder(root.right)

r = Node(50)
r = insert(r, 30)
r = insert(r, 20)
r = insert(r, 40)
r = insert(r, 70)
r = insert(r, 60)
r = insert(r, 80)

inorder(r)
В этом примере мы создаем BST с помощью Python. Мы определяем класс Node, который представляет узел в BST. Затем мы определяем функции для вставки нового узла и для обхода BST. ➡️ Преимущества и недостатки BST BST имеют множество преимуществ, благодаря которым они широко используются. Они позволяют быстро осуществлять поиск, вставку и удаление данных. Однако BST также имеют некоторые недостатки. Например, если дерево не сбалансировано, время поиска может увеличиться.

⛓⛓ Методы .isnumeric() и .isalpha() в Python ⛓⛓ ➡️ Метод .isnumeric() Метод .isnumeric() в Python используется для проверки,
Методы .isnumeric() и .isalpha() в Python ⛓⛓ ➡️ Метод .isnumeric() Метод .isnumeric() в Python используется для проверки, содержит ли строка только числа. Если все символы в строке являются числами, этот метод возвращает значение True. В противном случае возвращается False. Этот метод очень полезен при валидации ввода данных, когда вы хотите убедиться, что пользователь ввел только числа.
str1 = '12345'
print(str1.isnumeric())  # Вывод: True

str2 = '12345abc'
print(str2.isnumeric())  # Вывод: False
➡️ Метод .isalpha() Метод .isalpha() в Python, с другой стороны, используется для проверки, содержит ли строка только буквы. Если все символы в строке являются буквами, этот метод возвращает значение True. В противном случае возвращается False. Этот метод также полезен при валидации ввода данных, когда вы хотите убедиться, что пользователь ввел только буквы.
str3 = 'abc'
print(str3.isalpha())  # Вывод: True

str4 = 'abc123'
print(str4.isalpha())  # Вывод: False

💡 Использование модуля difflib в Python Модуль difflib в Python - это мощный инструмент, который помогает разработчикам срав
💡 Использование модуля difflib в Python Модуль difflib в Python - это мощный инструмент, который помогает разработчикам сравнивать последовательности. Он особенно полезен для сравнения текстовых данных и нахождения различий между ними. ➡️ Функция get_close_matches Функция get_close_matches() используется для поиска наиболее похожих вариантов в последовательности. Это полезно, например, при реализации системы автодополнения, где нужно предложить пользователю наиболее вероятные варианты на основе его ввода. Например:
import difflib

words = ['кот', 'собака', 'кит', 'слон']
difflib.get_close_matches('кот', words)
В этом примере функция возвращает: ['кот', 'кит']. ➡️ Функция ndiff Функция ndiff() используется для сравнения двух последовательностей и выявления различий между ними. Она возвращает генератор, который производит строки, иллюстрирующие различия между последовательностями. Это полезно, например, при сравнении версий текстовых документов. Например:
import difflib

str1 = "кот"
str2 = "кит"
diff = difflib.ndiff(str1, str2)
print('\\n'.join(diff))
В этом примере функция выводит:
  к
- о
+ и
  т
➡️ Функция SequenceMatcher Функция SequenceMatcher() является более общей и мощной функцией, чем ndiff(). Она позволяет сравнивать любые две последовательности и определять степень их сходства. Например:
import difflib

str1 = "кот"
str2 = "кит"
match = difflib.SequenceMatcher(None, str1, str2)
print(match.ratio())
В этом примере функция возвращает: 0.6666666666666666, что означает, что строки совпадают на 66.67%.

Разбор 👨‍💻 Немного затянулось, сорри. Как вы знаете (или не знаете, тогда знайте) метод .pop удаляет элемент по индексу. Т.е. если бы мы написали, my_list.pop(1), то элемент JavaScript бы удалился из списка. Но а что, если мы не прокинули индекс? Тогда выбирается последний элемент. В нашем случае - c# Но почему ответ - это не список без последнего элемента. Все дело в том, что мы принтуем не список, а результат выполнения функции .pop. В свою очередь, функция .pop возвращает удаленный элемент (последний элемент) (( C# ))

Разбор 👨‍💻 Немного затянулось, сорри. Как вы знаете (или не знаете, тогда знайте) метод .pop удаляет элемент по индексу. Т.е. если бы мы написали, my_list.pop(1), то элемент JavaScript бы удалился из списка. Но а что, если мы не прокинули индекс? Тогда выбирается последний элемент. В нашем случае - c# Но почему ответ -

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

🌴 Создание бинарного дерева в Python Бинарное дерево - это иерархическая структура данных, в которой каждый узел имеет не бо
🌴 Создание бинарного дерева в Python Бинарное дерево - это иерархическая структура данных, в которой каждый узел имеет не более двух потомков: левый и правый. В этом блоге мы рассмотрим, как создать бинарное дерево в Python. В бинарном дереве узел является основным элементом. Каждый узел имеет данные и ссылки на левого и правого потомков. В Python мы можем создать узел, определив класс Node с инициализатором, который устанавливает данные и оба потомка. Пример кода:
class Node:
    def __init__(self, data):
        self.left = None
        self.right = None
        self.data = data
➡️ Создание бинарного дерева После того как узел определен, мы можем создать бинарное дерево. Начальный узел известен как корень. Мы создаем бинарное дерево, добавляя новые узлы в качестве левого или правого потомка корня или любого другого узла. Пример кода:
root = Node(1)

root.left = Node(2)
root.right = Node(3)

root.left.left = Node(4)
root.left.right = Node(5)
➡️ Обход бинарного дерева Обход - это процесс посещения каждого узла в дереве. Существуют различные методы обхода, включая прямой (Preorder), симметричный (Inorder) и обратный (Postorder) обход. В Python мы можем реализовать эти методы с помощью рекурсии или стеков. Пример кода для прямого обхода:
def preorder_traversal(root):
    if root:
        print(root.data)
        preorder_traversal(root.left)
        preorder_traversal(root.right)

✅️ Продолжим изучать AIOgram 😇 На этот раз попытался пояснить на пальцах, как работает FSM (машина состояний) https://www.youtube.com/watch?v=tXbmRlAvGUo

🤔 Освещение модуля 'this' в Python Модуль 'this' в Python - это встроенный модуль, который, когда импортируется, автоматичес
🤔 Освещение модуля 'this' в Python Модуль 'this' в Python - это встроенный модуль, который, когда импортируется, автоматически выводит 'The Zen of Python'. Это, по сути, набор правил и принципов, на которых строится разработка на Python. Они служат напоминанием о том, какой должна быть идеальная программа на Python, и хотя они не являются строгими правилами, они широко применяются и уважаются в сообществе Python. Пример:
import this
После выполнения этого кода, вы увидите 'The Zen of Python' на вашем экране.

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

Разбор 👨‍💻 Вызываем функцию rec, передавая туда значение 3. Внутри функции идет проверка, где мы в return'e возвращаем результат n + новый вызов функции rec(n-1) —> rec(2) Операция повторяется и мы возвращаем результат n + rec(n-1) —> n + rec(1) Заходим заново в функцию и возвращаем n + rec(0) —> теперь после вызова сработает return 1, т.к. if проверяет что n==0. После чего, идем замыкать рекурсию в обратную сторону. n + rec(0) —> 1 + 1 —> 2 n + rec(1) —> 2 + 2 —> 4 n + rec(2) —> 3 + 4 —> 7

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

🤘Кто не спал, а хостинг на ночь и не на ночь глядя искал? ⏳ Чуть задержавшийся, но вышедший видос! Гоу смотреть, оценивать, использовать) https://youtu.be/kwFEeuzICjU