Python Hub - сборище Питонистов
Ir al canal en Telegram
Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат
Mostrar más1 709
Suscriptores
-324 horas
-117 días
-2230 días
Archivo de publicaciones
🖥 Генераторы
Генераторы - это функции, которые возвращают итерируемый объект, который вы можете перебирать по одному элементу за раз. Они создаются с помощью ключевого слова "yield" вместо "return". Когда вы вызываете генератор, он не выполняет свой код сразу, вместо этого он возвращает объект-генератор, который позволяет вам перебирать элементы один за другим. Каждый раз, когда вы вызываете метод "next()" на объекте-генераторе, он продолжает выполнение кода генератора до следующего оператора "yield", возвращая значение, указанное после него. Генераторы особенно полезны, когда вы работаете с большими наборами данных, так как они позволяют вам работать с данными по мере их генерации, а не ждать, пока все данные будут сгенерированы.
Вот пример:
>>> def starmaker(n):
... while n > 0:
... yield '*'
... n -= 1
...
>>> type(starmaker)
>class 'function'>
>>> s = starmaker(3)
>>> type(s)
>class 'generator'>
>>> next(s)
'*'
>>> next(s)
'*'
>>> next(s)
'*'
>>> next(s)
Traceback (most recent call last):
File ">stdin>", line 1, in >module>
StopIterationРазбор 👨💻
Лямбда-выражения в языке Python представляют небольшие анонимные функции, которые определяются с помощью оператора lambda.
В данном случае у нас есть лямбда-фукция a, которая принимает в себя значение c и возвращает результат умножения числа c на само себя..
Таким образом, передав в функцию а тройку, получим 9.
p.s. с = 2 на первой строке вообще никак не влияет на выражение.
ответ: 9
🖥 Что такое хеш-таблица?
Хеш-таблица - это структура данных, которая используется для эффективного хранения и поиска информации. Она основана на идее хеширования, где каждый элемент имеет уникальный хеш-код, который используется для быстрого доступа к данным.
➡️ Как работает хеш-таблица?
Хеш-таблица состоит из массива элементов, каждый из которых имеет свой уникальный хеш-код. Хеш-код вычисляется из ключа элемента (например, строка или число) с помощью специального алгоритма хеширования. Затем этот хеш-код используется в качестве индекса массива, где находится соответствующий элемент.
Когда требуется найти элемент в хеш-таблице по ключу, алгоритм хеширования вычисляет хеш-код ключа, который затем используется для поиска элемента в массиве. Если элемент найден, то возвращается его значение, иначе возвращается сообщение об ошибке.
➡️ Преимущества использования хеш-таблицы
Одним из главных преимуществ хеш-таблицы является ее эффективность. Благодаря уникальному хеш-коду каждого элемента, поиск элемента в массиве может быть осуществлен за постоянное время O(1), что делает хеш-таблицу одной из самых быстрых структур данных.
Было предложено решение:
def number(num):
numm=[i for i in range(2,num-1) if num%i==0]
if len(numm)==0:
print(f'{num} is prime')
else:
print(numm)
И оно работает. Суть решения в переборе всех значений от 2 до самого числа. Далее мы пытаемся поделить наше число на каждое из значений. Те значения, которые поделились без остатка заносим в список. Ну а далее просто проверяем, что список пустой или нет.
p.s. в range можно не делать num-1, ведь он и так не включает последний элемент
Далее было предложено еще решение, с уменьшением количества пробегаемых элементов в 2 раза, так как например:
У нас есть число 100. Мы не сможем умножить число большее 50 на 2 или больше, чтобы вышло 100.
Тогда тот же алгоритм примерно выглядел бы так:
def number(num):
numm=[i for i in range(2,num//2+1) if num%i==0]
if len(numm)==0:
print(f'{num} is prime')
else:
print(numm)
А вот так бы это выглядело, если бы мы писали, как для новичков.Разбор 👨💻
Есть два списка с одинаковыми элементами.
Вызов метода .sort() возвращает None, т.к. сортирует сам исходный список. —> в a будет None
Вызов sorted() вернет отсортированный список —> в b будет [1,2,3,4]
Сработает elif, т.к. None != [1,2,3,4] —> не равны.
Ответ: False
🔔Хотели вывести видео на GUI Tkinter? 📼
📹 Сделал виджет, который облегачает работу и воспроизводит видео📹
🔥 Смотрите, используйте, комментируйте, спрашивайте! 🔥
▶️ использовал cv2, PIL и Tkinter
https://www.youtube.com/watch?v=e0AHYbKeeT8&ab_channel=Shcoder
🔥 Кто решит задачку?
В функцию поступает число.
Нужно вернуть список всех делителей этого числа, кроме самого числа и единицы.
Если число простое (ни на что, кроме 1 и самого себя не делится), то вернуть текст
*число* is prime
Ответы в комменты, погнали!
p.s. потом будет разбор задачи😎Разбор 👨💻
Множество в python - "контейнер", содержащий не повторяющиеся элементы в случайном порядке.
Он уберет все повторы, и мы получим (1, 2, 3, 5)
Далее len вычислить длину —> кол-во элементов —> 4.
Ответ: 4
❔ Что такое deepcopy?
Deepcopy - это функция в Python, которая используется для создания копии объектов, включая все вложенные объекты. Она глубоко копирует все элементы объекта, включая вложенные списки, словари и т.д. Это означает, что изменения, внесенные в копию, не влияют на оригинальный объект.
Для использования deepcopy в Python нужно импортировать модуль copy. Затем можно использовать функцию deepcopy, чтобы создать копию объекта. Например:
import copy list1 = [1, [2, 3], 4] list2 = copy.deepcopy(list1)В этом примере мы создали список list1, который содержит два элемента: число 1 и список [2, 3]. Затем мы использовали deepcopy, чтобы создать копию этого списка и присвоить ее переменной list2. Теперь у нас есть два списка, которые содержат одинаковые элементы.
list2[1][0] = 5 print(list1) # [1, [2, 3], 4] print(list2) # [1, [5, 3], 4]Как видно из примера, изменение элемента в копии не влияет на оригинальный список.
Разбор 👨💻
deepcopy создает полную копию объекта.
Если мы выведем их id, то получим одинаковые числа —> это полная копия объекта.
Сравнение выдаст True
⏺ Что такое Hard Skills?
Hard Skills - это конкретные знания и умения, которые могут быть изучены и измерены. Они часто требуются для выполнения конкретных задач и могут быть измерены с помощью тестов или экзаменов. Некоторые примеры Hard Skills включают в себя знания программирования, математики, английского языка и многих других.
Примером Hard Skills в программировании могут быть навыки написания кода на различных языках, знание алгоритмов и структур данных, опыт работы с базами данных
Разбор 👨💻
В классе Test создано свойство а со значением 5.
Далее мы обращаемся к этому классу, к его свойству а и меняем значение на 6.
Создаем объект test на основе класса, выводим свойство a у объекта. —> Такое же, как и у класса.(изменили его на 6)
Ответ: 6
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
