Гоу смотреть, оценивать, использовать)
https://youtu.be/kwFEeuzICjU
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
TELEGRAM BOT на PYTHON AIOgram | ЗАГРУЖАЕМ на СЕРВЕР | ХОСТИНГ
В этом видео мы создадим простого бота в телеграм на библиотеке Aiogram и загрузим его на хостинг. На этом сервере наш бот сможет постоянно работать.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 ht…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 ht…
👍7❤3
🤡8👍4🤔2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Вызываем функцию 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
Внутри функции идет проверка, где мы в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что выдаст код выше?
Anonymous Quiz
7%
True True True
37%
True True False
3%
False True False
7%
True False True
15%
True False False
17%
Не знаю
14%
❤️
❤5👎1
Модуль 'this' в Python - это встроенный модуль, который, когда импортируется, автоматически выводит 'The Zen of Python'. Это, по сути, набор правил и принципов, на которых строится разработка на Python. Они служат напоминанием о том, какой должна быть идеальная программа на Python, и хотя они не являются строгими правилами, они широко применяются и уважаются в сообществе Python.
Пример:
import this
После выполнения этого кода, вы увидите 'The Zen of Python' на вашем экране.
Попробуйте сами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
https://www.youtube.com/watch?v=tXbmRlAvGUo
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Машина состояний FSM в AIOgram 3.x | Python Telegram Bot
В этом видео мы посмотрим, как работает Finite State Machine (FSM) машина состояний в Аиограм 3.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.me/pythonhub_chat 🖇
😳 Полезные ссылки 😳
Echo…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.me/pythonhub_chat 🖇
😳 Полезные ссылки 😳
Echo…
👍6
Бинарное дерево - это иерархическая структура данных, в которой каждый узел имеет не более двух потомков: левый и правый. В этом блоге мы рассмотрим, как создать бинарное дерево в 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)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4
Что выдаст код выше?
Anonymous Quiz
25%
С#
22%
"Python", "JavaScript", "C++", "Java"
18%
["Python", "JavaScript", "C++", "Java"]
13%
Python
7%
None
6%
Error
9%
Не знаю
👍9
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Немного затянулось, сорри.
Как вы знаете (или не знаете, тогда знайте) метод .pop удаляет элемент по индексу.
Т.е. если бы мы написали, my_list.pop(1), то элемент JavaScript бы удалился из списка.
Но а что, если мы не прокинули индекс? Тогда выбирается последний элемент. В нашем случае - c#
Но почему ответ - это не список без последнего элемента.
Все дело в том, что мы принтуем не список, а результат выполнения функции .pop. В свою очередь, функция .pop возвращает удаленный элемент (последний элемент) (( C# ))
Немного затянулось, сорри.
Как вы знаете (или не знаете, тогда знайте) метод .pop удаляет элемент по индексу.
Т.е. если бы мы написали, my_list.pop(1), то элемент JavaScript бы удалился из списка.
Но а что, если мы не прокинули индекс? Тогда выбирается последний элемент. В нашем случае - c#
Но почему ответ - это не список без последнего элемента.
Все дело в том, что мы принтуем не список, а результат выполнения функции .pop. В свою очередь, функция .pop возвращает удаленный элемент (последний элемент) (( C# ))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Модуль difflib в Python - это мощный инструмент, который помогает разработчикам сравнивать последовательности. Он особенно полезен для сравнения текстовых данных и нахождения различий между ними.
Функция get_close_matches() используется для поиска наиболее похожих вариантов в последовательности. Это полезно, например, при реализации системы автодополнения, где нужно предложить пользователю наиболее вероятные варианты на основе его ввода.
Например:
import difflib
words = ['кот', 'собака', 'кит', 'слон']
difflib.get_close_matches('кот', words)
В этом примере функция возвращает:
['кот', 'кит'].Функция ndiff() используется для сравнения двух последовательностей и выявления различий между ними. Она возвращает генератор, который производит строки, иллюстрирующие различия между последовательностями. Это полезно, например, при сравнении версий текстовых документов.
Например:
import difflib
str1 = "кот"
str2 = "кит"
diff = difflib.ndiff(str1, str2)
print('\\n'.join(diff))
В этом примере функция выводит:
к
- о
+ и
т
Функция SequenceMatcher() является более общей и мощной функцией, чем ndiff(). Она позволяет сравнивать любые две последовательности и определять степень их сходства.
Например:
import difflib
str1 = "кот"
str2 = "кит"
match = difflib.SequenceMatcher(None, str1, str2)
print(match.ratio())
В этом примере функция возвращает:
0.6666666666666666, что означает, что строки совпадают на 66.67%.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Метод .isnumeric() в Python используется для проверки, содержит ли строка только числа. Если все символы в строке являются числами, этот метод возвращает значение True. В противном случае возвращается False. Этот метод очень полезен при валидации ввода данных, когда вы хотите убедиться, что пользователь ввел только числа.
str1 = '12345'
print(str1.isnumeric()) # Вывод: True
str2 = '12345abc'
print(str2.isnumeric()) # Вывод: False
Метод .isalpha() в Python, с другой стороны, используется для проверки, содержит ли строка только буквы. Если все символы в строке являются буквами, этот метод возвращает значение True. В противном случае возвращается False. Этот метод также полезен при валидации ввода данных, когда вы хотите убедиться, что пользователь ввел только буквы.
str3 = 'abc'
print(str3.isalpha()) # Вывод: True
str4 = 'abc123'
print(str4.isalpha()) # Вывод: False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Телеграм БОТ РАСПИСАНИЯ университета на Python | Админка, Статистика, Рассылка, ХОСТИНГ | AIOgram
В этом видео продолжаем создавать телеграм бота для расписания университета. Добавим возможность смотреть, сколько пользователей в боте, делать рассылку, а так же выложим на сервер нашего бота.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001…
👍3
BST - это древовидная структура данных, в которой каждый узел имеет максимум два потомка. Основное свойство BST заключается в том, что каждый узел на большее значение, чем все узлы в его левом поддереве и на меньшее значение, чем все узлы в его правом поддереве. Этот уникальный атрибут делает BST идеальным для быстрого поиска данных.
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 также имеют некоторые недостатки. Например, если дерево не сбалансировано, время поиска может увеличиться.
То есть, по сути, это сортированное дерево, поиск в котором легко выполнить, из-за того, что оно упорядочено.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Многопоточность - это метод, который позволяет коду выполняться параллельно. Это означает, что два или более куска кода могут работать одновременно, что делает обработку данных более эффективной. В Python для создания многопоточных программ можно использовать модуль threading. При использовании этого модуля, каждый цикл будет работать в своем собственном потоке, что позволяет им работать одновременно.
Для создания двух одновременно работающих циклов вам потребуется создать два потока. Каждый поток будет выполнять свой собственный цикл. Вот пример того, как это может выглядеть:
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()
В этом примере два цикла выполняются одновременно, каждый в своем собственном потоке.
Попробуйте скопировать и проверить у себя самостоятельно!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Какие вообще сайты кроме хабра и hh знаете, где можно искать стажировки?
https://www.youtube.com/watch?v=Q3PMuGaOQzY
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ПАРСИНГ ВАКАНСИЙ на Python | Requests | BeautifulSoup
В этом видео займемся парсингом. Парсить будем вакансии с хабр карьеры. Если интересно сделать из этого проект, то поддержите видос комментом и лайком!
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 …
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 …
❤2
❤2👍2