Pythoner
7.21K subscribers
861 photos
27 videos
4 files
655 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
🧑‍💻Сегодня я хочу поделиться с вами интересной задачей, которую можно решить с помощью Python - подсчетом количества выходных дней за определенный период времени. Это может быть полезно для расчета времени на отдых, планирования рабочего графика или просто для интереса.

Использование модуля datetime

Python имеет встроенный модуль datetime, который предоставляет инструменты для работы с датами и временем. С его помощью можно легко получить текущую дату и время, добавить или вычесть дни, месяцы или годы, а также определить день недели для любой даты.

⬆️ Создание функции подсчета выходных

Создадим функцию, которая принимает на вход две даты и возвращает количество выходных дней между ними. В Python выходные дни - это суббота и воскресенье, которым соответствуют числа 5 и 6 в методе weekday().

⌨️ Применение функции на практике

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

start_date = datetime.date(2022, 1, 1)
end_date = datetime.date(2023, 1, 1)

print(count_weekends(start_date, end_date))


🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154🔥2
🧑‍💻Для создания календаря в Tkinter можно использовать виджет Calendar из библиотеки tkcalendar.

⬆️В этом примере создается окно с календарем, который позволяет выбрать дату. При нажатии на кнопку "Get Date" выбранная дата выводится в консоль. Вы можете адаптировать этот код под свои нужды, например, добавить функционал сохранения выбранной даты в переменную или использовать для других целей.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🔥2
🧠Метод dict.get() в Python используется для получения значения по ключу из словаря. Он принимает ключ в качестве аргумента и возвращает соответствующее значение. В случае, если ключ отсутствует в словаре, метод возвращает значение по умолчанию, которое можно указать вторым аргументом.

⬆️В данном примере, метод dict.get() используется для получения оценок студентов из словаря student_grades. При обращении к существующим ключам, метод возвращает соответствующее значение, а при обращении к несуществующему ключу – None или значение по умолчанию, если оно указано.

⚙️Метод dict.get() удобен в тех случаях, когда нужно получить значение из словаря и быть уверенным, что при отсутствии ключа программа не будет выдавать ошибку. Он также позволяет удобно установить значение по умолчанию, если ключ не найден.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133🔥2
🤣30😁7👍32
Разбор

тут много разных фишек используется, разберем по порядку:

1 строка: тут используется распаковка значений.
В переменную а попадет первый символ, в b - второй, а в с все остальные
В результате будет a = '1', b = '2', c = ('3', '0', '0')

2 строка: Тут используется оператор match-case.
В матч мы передаем содержимое переменных а, b и все елементы (!) из c.

3 строка: тут вся перлесть конструкции match-case: первый аргумент - это переменная '_', то есть мы получаем первый аргумент без проверки. Потом мы проверяем второй аргумент чтобы был равен 2. А третий - чтобы был равен "300". Данный кейс не выполнится по ряду причин:
1. вторая проверка на 2 не пройдет - в переменной у нас строка с символом "2", а не число (int).
2. следующая проверка тоже не пройдет, логично что там не будет "300"
3. Кол-во передаваемых аргументов не совпадает с кол-во проверок.

5 строка: тут все проще - мы ничего не проверяем, а просто получаем все аргументы в переменную default. Именно этот кейс и сработает.

6 строка: Вывод переменной default.


Вывод: ('1', '2', '3', '0', '0')
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤯9👍8👏1
🔎Метод list.append() в Python используется для добавления элемента в конец списка. Он изменяет исходный список, добавляя новый элемент к его концу.

⬆️В данном примере мы сначала создаем пустой список my_list, а затем добавляем элементы 'apple', 'banana' и 'cherry' в конец списка с помощью метода append(). После этого выводим список на экран и видим, что элементы были успешно добавлены.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥3
➡️**kwargs в Python - это параметр, который позволяет передавать произвольное количество именованных аргументов в функцию. С помощью **kwargs можно создавать функции с переменным числом именованных параметров.

⬆️В данном примере функция print_info принимает произвольное количество именованных аргументов. При вызове функции можно передать любое количество именованных параметров. Внутри функции **kwargs представлен как словарь, где ключами являются имена аргументов, а значениями - их значения.

💡Также можно передать **kwargs в другую функцию:

def greet(**kwargs):
if 'name' in kwargs:
print(f"Hello, {kwargs['name']}!")
if 'age' in kwargs:
print(f"You are {kwargs['age']} years old.")

greet(name='Alice', age=25)


➡️При вызове функции greet с именованными параметрами name и age, функция проверяет их наличие в **kwargs и выводит соответствующие сообщения.

➡️Использование **kwargs обеспечивает гибкость при работе с функциями и позволяет передавать и обрабатывать любое количество именованных параметров.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
➡️Для скачивания картинки с сайта на Python можно использовать библиотеку requests.

⬆️Замените ссылку на картинку 'https://Python'er/python.jpg' на нужную вам URL-ссылку, а путь для сохранения 'python.jpg' на путь, где вы хотите сохранить картинку на вашем компьютере. Запустите этот код, и он загрузит указанную картинку с сайта по указанному URL и сохранит ее локально.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3🔥3
➡️Validators – это функции, которые позволяют проверять и валидировать данные перед их использованием. С их помощью можно убедиться, что данные соответствуют определенным правилам или условиям.

⬆️В данном примере определяется класс Person с атрибутами name, age и emails. Для атрибута age указан валидатор validate_age, который проверяет, что age является целым неотрицательным числом. При создании объекта Person с некорректным возрастом будет возбуждено исключение ValueError.

💡Использование валидаторов данных позволяет обеспечить правильность и целостность данных в приложении.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥3
➡️re.findall() - это функция в Python, которая используется для поиска всех неперекрывающихся совпадений с заданным шаблоном в строке.

💬Синтаксис функции:

re.findall(pattern, string, flags=0)


👀Где:
- pattern: это регулярное выражение, которое мы ищем в строке.
- string: это строка, в которой мы ищем совпадения.
- flags (необязательный): используется для изменения поведения поиска.

➡️Функция возвращает список всех найденных совпадений. Если совпадений не найдено, то возвращается пустой список.

⬆️В этом примере мы используем регулярное выражение \d{3}-\d{3}-\d{4} для поиска номеров телефонов в тексте. Функция re.findall() возвращает список всех найденных номеров телефонов.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163🔥2
🔎Для удаления и возврата элемента из списка в Python вы можете использовать метод pop(). Метод pop() удаляет элемент из списка по указанному индексу и возвращает этот элемент.

⬆️В приведенном примере мы удалили элемент списка с индексом 2 (значение 3) с помощью метода pop() и сохранили его в переменной removed_element. Затем мы выводим удаленный элемент и обновленный список без этого элемента.

💡Если вы вызовете pop() без аргумента, то будет удален и возвращен последний элемент списка:
my_list = [1, 2, 3]
removed_element = my_list.pop()
print(removed_element) # Вывод: 3
print(my_list) # Вывод: [1, 2]


➡️Индекс элемента списка может быть отрицательным, что указывает на элементы с конца списка. Например, -1 будет последним элементом, -2 - предпоследним и т.д.

📌Пожалуйста, обратите внимание, что метод pop() изменяет оригинальный список.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥2
📰Для создания словаря с заданными ключами и значением по умолчанию в Python можно использовать метод fromkeys() встроенного класса dict. Метод fromkeys() создает новый словарь с указанными ключами и устанавливает для всех ключей одно и то же значение по умолчанию.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥2
🔃Для объединения элементов списка в строку в Python можно использовать метод join() с помощью символа, который вы хотите использовать в качестве разделителя.

➡️Если у вас есть список чисел и вы хотите объединить их в строку, разделенную запятыми, то код будет выглядеть так:

numbers = [1, 2, 3, 4, 5]
result = ",".join(map(str, numbers))
print(result) # Вывод: 1,2,3,4,5


⬆️В приведенных примерах join() объединяет элементы списка с использованием указанного разделителя (пробела или запятой). Если элементы списка не являются строками, вы можете использовать map(str, numbers) для преобразования их в строки перед объединением.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥3
👀Обработка исключений в Python осуществляется с помощью конструкции try/except/else.

➡️Конструкция try позволяет выполнить определенный блок кода, в котором может произойти ошибка. Если ошибка произойдет, то программа перейдет к блоку кода после except. В блоке except можно указать тип исключения, которое необходимо обработать, либо оставить его пустым для обработки всех исключений.

➡️Блок else выполняется только в случае, если в блоке try не произошло исключений. Это позволяет выполнить определенный код в случае успешного выполнения блока try.

⬆️В данном примере, программа попытается выполнить деление на ноль, что приведет к возникновению исключения ZeroDivisionError. В блоке except мы обрабатываем данное исключение и выводим соответствующее сообщение. Блок else не будет выполнен, так как исключение произошло в блоке try.

💡Таким образом, использование конструкции try/except/else в Python позволяет более гибко обрабатывать исключения и управлять потоком выполнения программы.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1🤬1🤨1😡1
🐢Модуль turtle в Python предоставляет простой способ создания графики и рисования на экране с помощью черепашки. Черепашка двигается по экрану, оставляя за собой путь, точно так же, как и реальная черепашка. Модуль turtle часто используется для обучения программированию начинающих, так как он позволяет визуализировать действия кода и делать его более наглядным.

➡️Для работы с модулем turtle необходимо импортировать его с помощью команды import turtle. Затем можно создать экземпляр черепашки и начать рисовать на экране, используя различные команды, такие как forward(), backward(), right(), left(), penup(), pendown() и др.

⬆️В данном примере мы создаем экземпляр черепашки, после чего с помощью цикла рисуем квадрат. Команда forward() перемещает черепашку вперед, а right() поворачивает ее направо. После выполнения всего кода окно с рисунком останется открытым до тех пор, пока пользователь не кликнет на него.

➡️Модуль turtle также предоставляет возможность настройки цветов, толщины линий, скорости черепашки и других параметров. Он отлично подходит для создания простых графических приложений и визуализации алгоритмов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3👻1
🌪Tornado - это свободный и открытый фреймворк для веб-приложений на Python. Он предлагает высокую производительность и масштабируемость за счет использования асинхронного ввода-вывода. Основное назначение Tornado - обеспечение возможности написания веб-приложений, способных обрабатывать огромные нагрузки и большое количество одновременных подключений.

⬆️В этом коде создается простое веб-приложение с одним обработчиком, который отображает сообщение "Hello, world" на главной странице. Приложение запускается на порту 8888 с помощью метода listen(), а затем цикл событий Tornado запускается с помощью метода start().

➡️Вы можете запустить этот код в своей среде разработки и открыть браузер по адресу http://localhost:8888, чтобы увидеть сообщение "Hello, world" от вашего Tornado веб-приложения.

➡️Если вам нужно разработать высокопроизводительное веб-приложение на Python, Tornado может быть отличным выбором. Настройка и запуск приложения с помощью Tornado довольно просты, благодаря чему фреймворк популярен среди разработчиков Python.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥3
🤣29👍7🔥7😁4
➡️В Python удаление и возврат элемента из списка можно сделать несколькими способами.

⬆️1. Удаление элемента из списка:
Чтобы удалить элемент из списка, вы можете использовать метод remove() или del.
(Пример на фото)

➡️2. Возврат и удаление элемента из списка:
Если вам нужно удалить элемент и вернуть его для дальнейшего использования, вы можете использовать метод pop(). Вот пример:

# Исходный список
my_list = [10, 20, 30, 40, 50]

# Возврат и удаление последнего элемента
last_element = my_list.pop()
print(last_element) # 50
print(my_list) # [10, 20, 30, 40]

# Возврат и удаление элемента по индексу
first_element = my_list.pop(0)
print(first_element) # 10
print(my_list) # [20, 30, 40]


➡️Таким образом, вы можете использовать методы remove(), del и pop() для удаления и возврата элементов из списка в Python.

🐍Python'er
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2