Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
276 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Метод .pop удаляет из списка элемент по индексу, если индекс был передан. У нас индекса передано не было —> он удалит последний элемент (как по умолчанию).

НО! Мы принтуем НЕ список, а результат удаления. Прикол в том, что .pop помимо удаления, еще и возвращает удаленный элемент. То есть в принте будет выведен элемент, который мы удалили —> 'C++'

p.s. когда-то уже была такая задача, люди, давно подписанные, обладающие хорошей памятью, уже не ведутся на такие уловки))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁2
📛 Как работает функция index в Python? [ i N d E x ? ]


Функция index в Python используется для нахождения индекса первого вхождения определенного элемента в последовательности..

😐 Работа функции index

Функция index принимает в качестве аргумента элемент, который мы хотим найти, и возвращает индекс первого вхождения этого элемента в списке. Если элемент не найден, функция вызывает исключение ValueError. Например, если у нас есть список чисел [1, 2, 3, 4, 5] и мы хотим найти индекс числа 3, мы можем использовать функцию index следующим образом:

numbers = [1, 2, 3, 4, 5]
index = numbers.index(3)
print(index)


В этом примере функция index вернет значение 2, так как число 3 находится на позиции с индексом 2 в списке.

😐 Обработка исключений

Когда мы используем функцию index, мы должны быть осторожны, потому что если элемент не найден в списке, это вызовет исключение ValueError. Чтобы избежать ошибок, мы можем использовать конструкцию try-except для обработки исключений. Например:

numbers = [1, 2, 3, 4, 5]
try:
index = numbers.index(6)
print(index)
except ValueError:
print("Элемент не найден в списке.")


В этом примере, если элемент 6 не найден в списке numbers, функция index вызовет исключение ValueError, и вместо того, чтобы прервать выполнение программы, мы перехватываем исключение и выводим сообщение "Элемент не найден в списке."

А в каких структурах данных еще можно использовать .index?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
💬 Решил дать возможность увидеть видео про хостинг на Replit для дискорд разработчиков!

📹 Кому полезно - велком! 📹

🤘 Если вы пользуетесь хостингом на данном сервисе, то дайте фидбек в комментах. 🤘

p.s. Не важно, хостите тг бота или дискорд или сайт, интересно, сколько у вас держится сервер

https://www.youtube.com/watch?v=TvN_UHcP1pc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Где вы решаете задачи? (возможен мультивыбор)
Anonymous Poll
30%
Codewars
23%
Leetcode
15%
Другой сервис
43%
Не решаю задачи
👍3
🔄 Метод .count в Python


🔄 Использование метода .count()

Метод .count() в Python используется для подсчета количества вхождений определенного элемента в строке, списке или кортеже. Синтаксис метода выглядит следующим образом:

<obj>.count(<value>)


где <obj> - объект, в котором мы ищем, а <value> - значение, которое мы хотим посчитать.

🔄 Примеры использования метода .count()

Давайте рассмотрим несколько примеров использования метода .count().

Подсчет количества символов в строке:

s = "Hello, World!"
count = s.count("o")
print(count) # Output: 2


Подсчет количества элементов в списке:

numbers = [1, 2, 3, 4, 2, 1, 2]
count = numbers.count(2)
print(count) # Output: 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🧩 Создание PDF-файлов с помощью Python 🐍

☕️ PDF-файлы являются одним из наиболее удобных форматов для обмена документами. В Python существует несколько библиотек, позволяющих создавать и редактировать PDF-файлы. Одна из самых популярных библиотек для этой цели - PyPDF2.🛠 Чтобы начать работу с PyPDF2, необходимо установить эту библиотеку с помощью pip:
pip install PyPDF2


📚 Документация PyPDF2 доступна здесь, где вы можете найти подробные примеры и инструкции по использованию.

🚀 Теперь, давайте создадим простой PDF-файл с текстом "Пример создания PDF в Python":
import PyPDF2

# Создание объекта PDF
pdf = PyPDF2.PdfFileWriter()

# Создание страницы и добавление текста
page = pdf.addPage()
page.mergePage(page)

text = "Пример создания PDF в Python"

# Добавление текста на страницу
page.drawText(100, 500, text)

# Сохранение PDF в файл
with open("example.pdf", "wb") as f:
pdf.write(f)

print("PDF файл успешно создан!")

📚 Это простой пример создания PDF-файла с помощью Python и библиотеки PyPDF2. Однако, существует множество других библиотек, таких как reportlab или FPDF, предоставляющих более широкие возможности для создания и редактирования PDF-документов в Python.

🐍 Поделитесь в комментариях, если у вас есть вопросы или если хотите узнать больше о работе с PDF в Python!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выдаст код выше?
Anonymous Quiz
12%
1 3
50%
2 3
2%
1 2
8%
2 4
5%
3 4
5%
1 4
17%
Error
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

В тексте переменной txt есть 4 буквы —> индекс последней —> [3]
Заходим в первый try, сразу же запрыгиваем во второй. Пробуем получить txt[5] —> не можем—> ошибку ловит except.
В except'e выводим число 2.

Далее выходим из внутреннего try-except'a и пытаемся получить txt[3] —> удачно —> на следующей строке выводим 3.

В except не заходим, так как все прошло успешно.
Ответ: 2 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
👩‍💻 Что будет, если написать import this в Python?

Когда мы пишем `import this` в Python, происходит загрузка модуля под названием "this". Однако, вместо того, чтобы импортировать какие-то функции или переменные, этот модуль выводит на экран "The Zen of Python" - набор принципов и философии языка программирования Python.

А ты знал?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🧹 Что такое "чистая" функция?


"Чистая" функция - это функция, которая при выполнении одного и того же входного значения всегда возвращает одинаковый результат и не имеет побочных эффектов. То есть, она не влияет на состояние программы или внешние переменные. Результат работы "чистой" функции зависит только от переданных ей аргументов.

Пример чистой функции

Давайте рассмотрим пример простой чистой функции на языке Python. Предположим, у нас есть функция double, которая удваивает переданное число:

def double(number):
return number * 2


Эта функция является "чистой", потому что она всегда возвращает удвоенное значение переданного числа и не имеет побочных эффектов. Независимо от контекста выполнения и внешних переменных, результат работы этой функции будет одинаковым при одинаковом входном значении.

Пример нечистой функции

Рассмотрим теперь пример нечистой функции на языке Python. Предположим, у нас есть функция add_to_list, которая добавляет переданное значение в глобальный список:

my_list = []

def add_to_list(value):
my_list.append(value)


Эта функция не является "чистой", потому что она изменяет состояние программы путем добавления значения в глобальный список my_list. Результат работы этой функции зависит не только от переданного аргумента, но и от текущего состояния списка my_list.
Please open Telegram to view this post
VIEW IN TELEGRAM
5
🚀 Оптимизация кода Python

🤔 Многие сталкиваются с проблемой, что кол очень долго выполняется, тобиж не оптимизирован. Сейчас мы это исправим.

➡️ Для примера возьмём функцию вычисления последовательности Фибоначчи:
def fibonacci(n): 
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)

for i in range(50):
print(i, fibonacci(i))





😰 Если сейчас мы запустим код, то он будет выполняться ну очень долго. 😦

🧠 Теперь давайте изучим код. Если подумать, то понятно что у нас много раз просчитывается одни и те же значения. Так давайте будем сохранять то что уже посчитали! Для этого можно использовать декоратор lru_cache из встроенного модуля functools:
from functools import lru_cache


@lru_cache
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)

for i in range(50):
print(i, fibonacci(i))




😀 Так, данный код будет выполняться в рааазы быстрее.
Подробнее про этот декоратор можно почитать здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🐍 Ещё одна пасхалка в виде встроенного модуля

Все смотришь как люди "hello world" пишут через print? А зачем, если можно сделать так:
import __hello__



А какие пасхалки знаете Вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤨 Для чего нам создавать ошибку? Raise exception в Python.


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


Когда мы пишем программы, мы стараемся их делать максимально надежными и безопасными. Однако, иногда может возникнуть ситуация, когда мы хотим явно указать на наличие проблемы. Например, если в функции передаются некорректные аргументы или программа не может продолжить выполнение из-за некорректного состояния. В таких случаях мы можем создать исключение с помощью оператора raise, чтобы прервать нормальное выполнение программы и показать, что что-то пошло не так.

➡️ Использование оператора raise

Оператор raise в Python позволяет нам создавать исключения вручную. Мы можем указать тип исключения и дополнительное сообщение, которое будет содержаться в исключении. Например, мы можем создать исключение типа ValueError, если функция получила некорректное значение аргумента. Мы также можем наследовать собственные классы исключений от встроенных классов, чтобы создать более специфичные исключения для наших нужд.

Вот пример использования оператора raise:

def divide_numbers(a, b):
if b == 0:
raise ValueError("Делитель не может быть нулем")
return a / b

try:
result = divide_numbers(10, 0)
print("Результат:", result)
except ValueError as e:
print("Ошибка:", str(e))


В этом примере мы определяем функцию divide_numbers, которая делит одно число на другое. Если второе число равно нулю, мы вызываем исключение ValueError с сообщением "Делитель не может быть нулем". Затем мы обрабатываем это исключение с помощью блока try-except, чтобы поймать и обработать ошибку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41