Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
“Рецепт Счастья” — увлекательная игра в жанре «соедини предметы»! Помогите Эмили раскрыть тайны пропавшего родственника, найти сокровища и восстановить её любимое кафе.

Рецепт Счастья

Казуальные, Головоломки, Новеллы

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Python + Обучение

С этим тегом используют

Программирование IT Программист IT юмор Разработка YouTube Образование Учеба Урок Английский язык Все
551 пост сначала свежее
1
f.lattys
f.lattys
4 месяца назад

Telethon — Работаем с Telegram через Python⁠⁠

Telethon — Работаем с Telegram через Python Python, Гайд, Программирование, IT, Обучение, Бот, Чат-бот

Telethon — это асинхронная библиотека Python для работы с Telegram API. Она позволяет взаимодействовать с Telegram на уровне API, предоставляя возможность отправлять сообщения, получать обновления, работать с чатами, группами и каналами.

➡️Пример создания простого Telegram-бота:

1. Установка Telethon: Сначала установите библиотеку командой:

pip install telethon

2. Создание приложения в Telegram: Перейдите в Telegram API и создайте новое приложение, чтобы получить API ID и API Hash.

3. Код бота: Создайте файл bot.py со следующим содержимым:

from telethon import TelegramClient, events

# Настройки вашего приложения

api_id = 'YOUR_API_ID' # Введите ваш API ID

api_hash = 'YOUR_API_HASH' # Введите ваш API Hash

# Создание клиента

client = TelegramClient('session_name', api_id, api_hash)

@client.on(events.NewMessage)

async def handler(event):

# Проверяем, является ли сообщение от пользователя

if event.is_private:

sender = await event.get_sender()

username = sender.username

message = event.text

# Ответ на сообщение

await event.respond(f"Привет, {username}! Ты написал: {message}")

# Запуск клиента

with client:

print("Бот запущен. Нажмите Ctrl+C для остановки.")

client.run_until_disconnected()

4. Запустите бота командой:

python bot.py

⬆️Готово, теперь бот будет отвечать на все личные сообщения, которые он получает.

🔎Как это работает?

- Создание клиента: Мы используем TelegramClient для подключения к Telegram API с помощью вашего API ID и API Hash.

- Обработка событий: Метод @client.on(events.NewMessage) регистрирует обработчик для новых сообщений.

- Отправка ответа: Метод await event.respond() позволяет отправить ответное сообщение пользователю.

💡Заключение

Telethon — это мощный инструмент для работы с Telegram. Он особенно полезен для создания ботов, автоматизации задач и анализа данных из Telegram.

Ещё много полезной информации, практики и задач закинул в свой канал - клик

Показать полностью 1
[моё] Python Гайд Программирование IT Обучение Бот Чат-бот
0
6
PythonGet
PythonGet
4 месяца назад
Программирование на python
Серия Python_get

Котики и ForeignKey: как связать своих питомцев в Django⁠⁠

Когда коты начинают общаться между собой, они создают целые сообщества. А мы с тобой научимся строить такие же связи в базах данных!

⭐️ Что такое ForeignKey? Или как кот Мурзик нашёл свою миску

ForeignKey - это специальный тип поля в Django, который позволяет связать две модели между собой. Представь, что у нас есть два кота: Мурзик и Барсик. У каждого из них своя миска с едой. Чтобы каждый кот мог найти свою миску, мы создаём связь между ними.

✨ Как это работает?

Давайте разберёмся на пальцах (или лапках):

  • Когда ты создаёшь ForeignKey, ты говоришь базе данных: "Смотри, этот кот связан с этой миской"

  • Внутри Django происходит магия: создаётся специальное поле, которое хранит ID связанной записи

💡 От древних библиотек до современных баз данных

В стародавние времена, когда не было компьютеров, библиотекари использовали карточки для связи книг с их авторами. Теперь мы делаем то же самое, только цифровым способом!

📋 Примеры использования

Котики и ForeignKey: как связать своих питомцев в Django Python, Программирование, Обучение, Джанго, Длиннопост

🎯 Разные ситуации, или как Мурзик меняет миски

🌟 Создание записи

Котики и ForeignKey: как связать своих питомцев в Django Python, Программирование, Обучение, Джанго, Длиннопост

🌟 Получение данных

Котики и ForeignKey: как связать своих питомцев в Django Python, Программирование, Обучение, Джанго, Длиннопост

🌟 Обновление связи

Котики и ForeignKey: как связать своих питомцев в Django Python, Программирование, Обучение, Джанго, Длиннопост

💭 Типы поведения при удалении

CASCADE 🐾 - Если миску удаляют, кот тоже пропадает

PROTECT 🐾 - Защищает миску от удаления, если там есть кот

SET_NULL 🐾 - Если миску удалят, кот останется без неё

SET_DEFAULT 🐾 - При удалении миски кот получает стандартную

🤔 Знаешь, почему коты любят ForeignKey? Потому что он помогает им всегда находить свои миски! Остались ли у тебя вопросы о том, как связывать модели в Django, или всё так же ясно, как утренний луч солнца на миске с кормом?

А на канале https://t.me/pytonism мы рассмотрим связь many-to-many, заходите ;)

Показать полностью 4
[моё] Python Программирование Обучение Джанго Длиннопост
0
11
PythonGet
PythonGet
4 месяца назад
Программирование на python
Серия Python_get

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы⁠⁠

Представьте , что ваша файловая система — это огромный лабиринт, где каждый файл и папка — это комната, а пути к ним — тропинки. Если вы не хотите, чтобы ваш код, как котёнок, заблудился в этом лабиринте, вам нужен надёжный проводник. И этим проводником станет pathlib!

О чём речь?

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

Как раньше жили без pathlib?

Раньше программисты использовали модуль os.path для работы с путями. Это было как пытаться накормить кота с помощью вилки — возможно, но неудобно. В Python 3 появился pathlib, который превратил работу с путями в удовольствие. Теперь вы можете думать о путях как об объектах, а не как о строках, и это делает ваш код чище и понятнее.

Как работает pathlib? Проще, чем научить кота мяукать!

pathlib предоставляет классы для работы с путями файловой системы. Основной класс — Path. Он позволяет вам создавать, удалять, перемещать и проверять файлы и директории, не задумываясь о том, как правильно написать путь. Всё, что вам нужно, — это создать объект Path, и дальше он сам позаботится о деталях.

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Примеры использования: от простого к сложному

Создание директории

Допустим, вы хотите создать папку для хранения фотографий вашего кота. С pathlib это делается в одну строку:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Переименование файла

Ваш кот случайно наступил на клавиатуру и создал файл с непонятным именем? Не беда:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Поиск всех файлов с определённым расширением

Хотите найти все фотографии кота в формате .jpg? Легко:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Чтение и запись файлов

Хотите записать, что ваш кот сегодня сделал? Используйте Path для работы с файлами:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Перемещение по папкам вверх/вниз

Иногда нужно подняться на уровень выше или спуститься в подпапку. С pathlib это делается легко:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Обход всего каталога и выдача списка всех файлов/папок

Хотите узнать, что лежит в папке? Используйте iterdir() для обхода всех элементов:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Выделение в каталоге только каталогов (без файлов)

Если вам нужны только папки, используйте is_dir() для фильтрации:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Удаление файла

Хотите удалить файл, который больше не нужен? С pathlib это делается одной командой:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Удаление пустого каталога

Если папка пуста, её можно удалить с помощью rmdir():

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Удаление каталога с файлами

Если папка содержит файлы, сначала нужно удалить их, а затем саму папку. Для этого можно использовать shutil:

Котики, файлы и pathlib: как не заблудиться в "котячьих" тропах файловой системы Python, Программирование, Обучение, Длиннопост

Если вы дочитали до этого момента, то, скорее всего, уже представляете, как pathlib может упростить вашу жизнь. Но если у вас остались вопросы, например, как работать с путями на разных операционных системах или как рекурсивно обходить директории, не стесняйтесь спросить! 🐱‍👤

А на канале https://t.me/pytonism — новый пост, который рассматривает этот вопрос чуть шире. Переходите!)

Показать полностью 11
[моё] Python Программирование Обучение Длиннопост
0
0
f.lattys
f.lattys
4 месяца назад

Функциональное программирование⁠⁠

Функциональное программирование Python, Гайд, Программирование, IT, Обучение

В мире разработки программного обеспечения постоянно появляются новые тренды и подходы. Одним из таких трендов, набирающих популярность в последние годы, является функциональное программирование (ФП). Давайте разберемся, почему это происходит!

Что такое функциональное программирование?

Функциональное программирование - это парадигма, в которой процесс вычисления рассматривается как вычисление математических функций. Основная идея заключается в том, чтобы избегать изменяемого состояния и мутаций данных.

Почему ФП становится популярнее?

💬Упрощение параллельного программирования: Отсутствие побочных эффектов делает код более предсказуемым и легким для распараллеливания.

💬Меньше багов: Неизменяемость данных и чистые функции снижают вероятность ошибок, связанных с состоянием программы.

💬Более читаемый код: ФП поощряет написание небольших, специализированных функций, что улучшает читаемость и поддерживаемость кода.

💬Легкость тестирования: Чистые функции легче тестировать, так как их поведение зависит только от входных данных.

💬Производительность: Некоторые функциональные концепции, такие как ленивые вычисления, могут повысить производительность программ.

Заключение

Функциональное программирование становится все популярнее благодаря своим преимуществам в читаемости, тестируемости и параллельном выполнении. Хотя оно может потребовать некоторого времени для освоения, инвестиции в изучение ФП могут значительно улучшить качество вашего кода и эффективность разработки.

Ещё много полезной информации, практики и задач закинул в свой канал - клик

Показать полностью 1
[моё] Python Гайд Программирование IT Обучение
2
6
user9834916
4 месяца назад

100 задач для изучения Python. Часть 2⁠⁠

Спасибо всем кому это было интересно) В связи с этим продолжаем - следующий блок из десяти задач, уже посложнее чем были в первом посте. Ссылка на пост, для тех кто не видел - 100 задач для изучения Python. Часть 1

Очень буду ждать ваши варианты, заметки, идеи в комментариях!


1. Определите максимальное из трех чисел.

a = int(input("Введите первое число: "))

b = int(input("Введите второе число: "))

c = int(input("Введите третье число: "))

max_number = max(a, b, c)

print(f"Максимальное число: {max_number}")

Вводим три переменные, которые являются целыми числами (а, b, с). Далее - вводим переменную, которая определяется функцией max() - эта функция выводит наибольшее из введенных значений. В нашем случае мы ввели три значения - а, b и c - и получим из них максимальное. После - отображаем результат.

2. Напишите программу, которая проверяет, является ли год високосным.

year = int(input('Введите год: '))

if year % 4 == 0:

print('Год високосный!')

else:

print('Год не високосный.')

Введем переменную, в которую пользователь будет писать год. Далее вспомним - год високосный, если он делится на четыре без остатка. Учтем это условие в вариативности через if/else и отобразим результат. Почему равно двойное? А потому что одним равно мы задаем тождественность значению, а двойным равно - проверяем равенство значений.

3. Запросите оценку (A/B/C/D/F) и выведите описание (например, A – отлично).

grade = input('Введите вашу оценку A/B/C/D/F: ').upper()

if grade == 'A':

print('Отлично')

elif grade == 'B':

print('Хорошо')

elif grade == 'C':

print('Удовлетворительно')

elif grade == 'D':

print('Плохо')

elif grade == 'F':

print('Ужасно')

else:

print('Некорректная оценка.')

Вводим переменные через input(), которые будут обозначать оценки. С помощью метода .upper() если пользователь введет a, b, c и т.д. программа переведет введенное значение в заглавные буквы (есть похожий обратный метод .lower() для перевода в нижний регистр ). Далее вводим обозначения к оценкам - здесь используем оператор elif (else if), за счет которого мы можем сделать множественное ветвление. Закончим ветвление предупреждением, если пользователь введет некорректную оценку.

4. Проверьте, является ли строка палиндромом.

string = input('введите слово на проверку на палиндром: ')

is_palindrome = string.lower() == string.lower()[::-1]

if is_palindrome:

print('Да, слово палиндром')

else:

print('Нет, слово не палиндром')

Вводим переменную, в которую мы будем вписывать слово. Далее вводим вторую переменную (is_palindrome), которая будет определять равно наше слово перевернутому варианту или же нет (string.lower() == string.lower()[::-1]) и не забываем про .lower(), что бы избежать возможных ошибок. Здесь как раз таки наглядное использование одного равно и двойного равно. Далее отображаем результат - палиндром ли введенное нами слово.

5. Напишите калькулятор: запросите два числа и операцию (+, -, *, /).

a = int(input('Введите первое число: '))

b = int(input('Введите второе число: '))

do = input('Введите операцию +,-,*,/: ')

if do == '+':

print(a+b)

elif do == '-':

print(a-b)

elif do == '*':

print(a*b)

elif do == '/':

print(a/b)

else:

print('Неверная операция')

Перейдем к базе - калькулятору на питоне. Это самая его простая на мой взгляд версия (имею ввиду по навыкам). Вводим две переменных обозначающих числа и еще одну переменную, которая будет обозначать операцию. Далее сделаем ветвление на операции - сложение, вычитание, умножение и деление. Завершаем каждое ответвление печатью результата на экран, а всю программу завершаем печатью неверной операции, если пользователь введет что то не так. В этом калькуляторе деление на ноль не предусмотрено и вызывает стандартную ошибку.

6. Определите, находится ли точка (x, y) внутри круга радиусом 5 с центром в (0,0).

import math

x = int(input('Введите координату х: '))

y = int(input('Введите координату y: '))

radius = 5

distance = math.sqrt(x**2 + y**2)

if distance <= radius:

print('Точка находится внутри круга')

else:

print('Точка находится вне круга')

Начнем с импорта блока "math" - он нам нужен для математических операций (в нашем случае, извлечение корня в переменной distance). Далее, введем переменные (x и y) которые будут обозначать точки (в этом примере сделаем их целыми). Далее - введем переменную, которая будет обозначать радиус (в нашем случае 5, но можно и заменить на вводимое число через input() ). Далее введем переменную distance - она будет означать формулу расчета расстояния. Наконец, введем ветвление - если расстояние меньше радиуса, отображаем что точка внутри круга, и наоборот.

7. Запросите у пользователя время (часы) и выведите приветствие ("Доброе утро", "День", "Вечер").

time = int(input('Введите время 0-23: '))

if 0 <= time <= 5:

print('Доброй ночи!')

elif 6 <= time <= 12:

print('Доброе утро!')

elif 13 <= time <= 17:

print('Добрый день!')

elif 18 <= time <= 23:

print('Добрый вечер!')

else:

print('Некорректное время')

Введем переменную, которая будет обозначать время которое вводит пользователь. Далее вводим ветвление, разбитое по часам, отображающее в зависимости от этого приветствие. Замыкаем, по стандарту, ответом на некорректный ввод. А вы так же делите время? Пишите в комментарии.

8. Проверьте, можно ли из трех отрезков заданной длины составить треугольник.

a = float(input('Введите длину отрезка a: '))

b = float(input('Введите длину отрезка b: '))

c = float(input('Введите длину отрезка c: '))

if a + b > c and a + c > b and b + c > a:

print('Можно составить треугольник')

else:

print('Нельзя составить треугольник')

Введем переменные для длин отрезков. Далее введем условие, за счет которого мы определяем, можно ли составить из этих отрезков треугольник.

9. Реализуйте простую игру "Камень-ножницы-бумага" против компьютера.

import random

variants = ['камень', 'ножницы', 'бумага']

comp_choice = random.choice(variants)

user_choice = input('Выберите камень, ножницы или бумагу: ').lower()

if user_choice not in variants:

print('Неверный ввод!')

else:

print(f'Компьютер выбрал {comp_choice}!')

if user_choice == comp_choice:

print('Ничья!')

elif (user_choice == 'камень' and comp_choice == 'ножницы') or \

(user_choice == 'ножницы' and comp_choice == 'бумага') or \

(user_choice == 'бумага' and comp_choice == 'камень'):

print('Ура, победа!')

else:

print('К сожалению, машина победила!')

А вот и оно! Начнем с того что импортируем модуль random, так как в этой игре нам естественно нужен будет рандом. Далее введем переменную списком варианты для выбора (variants = [ ]). Обозначим переменную, по которой компьютер делает свой выбор из возможных вариантов, а так как выбор рандомный, здесь мы как раз и подключаем импортированный ранее рандом (comp_choice = random.choice(variants) ). Далее мы спрашиваем у пользователя выбранный вариант (не забываем про .lower() ) и переходим к ветвлению. Первый вариант заключается в некорректном вводе, далее учитываем варианты ничьей, победы пользователя и его поражения. Запускаем и наслаждаемся игрой в камень-ножницы-бумага :)

10. Решите квадратное уравнение ax² + bx + c = 0.

import cmath

a = float(input("Введите коэффициент a: "))

b = float(input("Введите коэффициент b: "))

c = float(input("Введите коэффициент c: "))

if a == 0:

print("Это не квадратное уравнение.")

else:

D = b**2 - 4*a*c

x1 = (-b + cmath.sqrt(D)) / (2*a)

x2 = (-b - cmath.sqrt(D)) / (2*a)

print("Корни уравнения:")

print("x1 =", x1)

print("x2 =", x2)

Импортируем cmath. Вводим переменные, обозначающие коэффициенты a, b и c. Далее, с помощью двойного равно сравниваем переменную a с нулем для проверки уравнения на то что оно вообще квадратное, а так же этим мы начинаем ветвление. Далее прописываем условие дискриминанта и корней уравнения. Далее по стандарту прописываем print() для их отображения.

На этом второй блок подошел к концу. Впереди еще 80 задач, дальше будет посложнее. Очень жду ваши комментарии и реакции. Следующую часть сделаю так же, на 10 плюсов.

Показать полностью
[моё] Python Программирование Программист IT Обучение Задача Программа Текст Длиннопост
12
12
user9834916
4 месяца назад

100 задач для изучения Python. Часть 1⁠⁠

Всем привет! Недавно решил прогуглить 100 задач на Питоне и не нашел именно той информации, которую искал. В связи с этим решил сделать такое, в помощь тем кто начинает изучать язык. Я поделил эти 100 задач на блоки, идущих по мере возрастания сложности и появления новых элементов. Это 1 часть - в ней будет самая база. Схему хочу сделать такую - задача, код, объяснение. Если зайдет, буду и дальше выкладывать по 10 задач (1 блок).

Итак, начну!

1. Напишем программу, которая выводит "Привет, мир!"

print('Привет, мир!')

Программа, с которой начинали, я думаю, все. Функция print() выводит содержимое этой функции на экран.

2. Посчитайте сумму чисел, допустим, 5 и 3.

a=(5+3)

print (a)

а=(5+3) - этой строчкой объявляем переменную "a" и то что она будет означать ( (5+3) ). Далее уже используем знакомую функцию print() для отображения результата.

3. Запросите имя пользователя и отобразите его.

name = input('введите имя пользователя - ')

print(name)

name = input('введите имя пользователя - ') - функция input() дает возможность ввести данные в переменную для дальнейшего использования. Далее - отображаем переменную.

4. Переведите градусы Цельсия в Фаренгейты

C = input('Введите температуру в Цельсиях: ')

C = int(C)

F = (C * 9/5 + 32)

print(f'Температура в Фаренгейтах: {F}')

C = input('введите температуру в цельсиях: ') - создаем переменную, в которую будем вписывать значение температуры по Цельсию. Далее - объявим что переменная C будет целым числом с помощью функции int(). Обозначаем переменную F формулой для вычисления, и после печатаем необходимый нам результат. Отмечу, что в базовой для нас print() добавилась буква f - эта буква даст нам возможность вписать в текст переменную через скобки {}.

5. Напишите программу, которая проверяет, четное ли число ввел пользователь.

x = int(input('Введите ваше число: '))

if x % 2 == 0:

print ('Ваше число четное')

else:

print ('Ваше число нечетное')

Обозначаем переменную x. В отличии от прошлого способа, добавляем int() к input(), в одну строку - удобнее и быстрее. Далее вводим новый для нас оператор ветвления if-elif-else, но пока только if/else. Строчкой if x % 2 == 0: обозначаем условие если, в нашем случае x % 2 == 0 определяет четное ли число если при делении x на 2 остаток равен 0. Далее, если введенное число четное с помощью print() отображаем ответ. На обратный случай у нас есть оператор else, который выведет другой ответ, если условие не выполнено (число не четное).

6. Посчитайте площадь круга по запрошенному от пользователя радиусу.

r=float(input('Введите радиус круга: '))

pi = 3.14

S=(pi * r ** 2)

print(S)

Вводим переменную, но вместо int() используем float(), так как нам нужно не целое число, а дробное число. Далее вводим переменную, которая будет означать число Пи. После объединяем это все в формулу (двойная звездочка "**" означает степень), и, как обычно, печатаем результат.

7. Напечатайте первые 10 натуральных чисел в одну строку.

for i in range (1,10):

print (i)

С помощью for и range создаем ряд и определяем количество чисел в ряду. Далее, по стандарту отображаем результат

8. Конвертируйте строку "123" в число и умножьте на 2.

str = '123'

n = int(str)

result = n * 2

print(result)

Создаем переменную, которая является строкой. Далее, переводим эту строку в целое число с помощью int(). Добавляем переменную, обозначающую результат и объявляем, что эта переменная должна умножить нашу строку на два. Выводим результат.

9. Напишите программу, которая меняет местами значения двух переменных.

a = int(input('введите значение переменной а: '))

b = int(input('введите значение переменной б: '))

a, b = b, a

print(f'переменная а = {a}, переменная b = {b}')

Cоздаем две переменные - "a" и "b". С помощью int(input()) задаем им значение целых чисел. Следующим степом - просто меняем их местами, и далее отображаем результат.

10. Запросите у пользователя возраст и определите, совершеннолетний ли он (>=18).

age = int(input('Введите ваш возраст: '))

if age >= 18:

print('Вы совершеннолетний!')

else:

print('Вы несовершеннолетний!')

Создаем переменную, допустим, "age" и задаем ей значение целого числа. Далее, с помощью операторов if/else вводим условие, в нашем случае - больше либо равно 18. Выводим результат в соответствии с введенным числом.

На этом закончу первый блок. Здесь самая база, легкие и простые задачки. Надеюсь, кому то это поможет в освоении и наработке навыков. Наберем 10 плюсов, выложу вторую часть - там задачки уже посложнее :)

Показать полностью
[моё] Программирование Программист Python IT Обучение Задача Программа Текст Длиннопост
9
f.lattys
f.lattys
4 месяца назад
Лига программистов

Pathlib вместо os.path⁠⁠

Pathlib вместо os.path Python, Гайд, Программирование, IT, Обучение, Фишки, Длиннопост

Сегодня поговорим о том, как сделать работу с путями в Python более элегантной и современной. Если вы всё ещё используете os.path, то пора двигаться вперёд!

Модуль pathlib появился в Python 3.4 и полностью изменил правила игры. Это как пересесть с древнего велосипеда на Tesla – всё те же базовые принципы, но сильно удобнее!

Почему стоит перейти на pathlib?

—Объектно-ориентированный подход вместо строковых операций

—Кроссплатформенность из коробки

—Цепочки методов, которые читаются как поэзия

—Меньше кода, больше смысла

Практические примеры:

# Старый подход с os.path

import os.path

file_path = os.path.join('data', 'users', 'config.json')

parent_dir = os.path.dirname(file_path)

file_name = os.path.basename(file_path)

# Новый подход с pathlib

from pathlib import Path

file_path = Path('data') / 'users' / 'config.json'

parent_dir = file_path.parent

file_name = file_path.name

Крутые фишки pathlib, о которых вы могли не знать:

Проверка существования файла:

path = Path('config.json')

if path.exists():

print('Файл существует!')

Создание директорий одной командой:

Path('nested/directories/structure').mkdir(parents=True, exist_ok=True)

Поиск файлов по маске (glob):

# Найти все .py файлы в текущей директории

python_files = list(Path('.').glob('*.py'))

Работа с суффиксами и расширениями:

path = Path('document.pdf')

print(path.suffix) # .pdf

print(path.stem) # document

А теперь самое вкусное – цепочки методов:

config_path = (Path.home() / 'projects' / 'app' / 'config.json')

if config_path.exists():

data = json.loads(config_path.read_text())

Pro-tip: pathlib отлично работает с контекстными менеджерами:

with Path('log.txt').open('w') as f:

f.write('Logging started')


Когда стоит использовать os.path? Практически никогда! Разве что при работе с легаси-кодом или если вам нужны какие-то очень специфические операции с путями.


В заключение: pathlib – это не просто альтернатива os.path, это следующий эволюционный шаг в работе с файловой системой в Python. Он делает код чище, понятнее и приятнее в поддержке. Если вы ещё не перешли на pathlib, самое время начать!

Ещё много полезной информации, практики и задач закинул в свой канал - клик

Показать полностью 1
[моё] Python Гайд Программирование IT Обучение Фишки Длиннопост
2
9
PythonGet
PythonGet
4 месяца назад
Программирование на python
Серия Python_get

Котики и функции: как передать им вкусняшки правильно?⁠⁠

Функции в Python — это как кормление котиков: если не разобраться, кто и что ест, можно получить хаос. Сегодня мы разберёмся, как передавать параметры в функции, чтобы все котики остались довольны.

Функции — это основа программирования. Они позволяют нам не повторяться, структурировать код и делать его понятным. Но вот передача параметров в функции — это как раздать вкусняшки котикам: важно знать, кто что любит, чтобы не было обид. Давайте разберёмся, какие есть способы передать параметры, и как это работает.

Мы поговорим о:

  • 🐾 Позиционных параметрах (когда котик просто сидит на своём месте и ждёт вкусняшку).

  • 🐾 Именованных параметрах (когда котик сам говорит, что он хочет).

  • 🐾 *args и **kwargs (когда у вас целая стая котиков, и каждому нужно что-то своё).

  • 🐾 Распаковке параметров (когда вы приносите целый мешок вкусняшек и раздаёте их всем).

  • 🐾 Аннотациях (чтобы не перепутать, кому давать рыбку, а кому молоко).

Как это работает?

🐾 Позиционные параметры

Это самый простой способ. Вы передаёте параметры в том порядке, в котором они указаны в функции. Например:

Котики и функции: как передать им вкусняшки правильно? Python, Программирование, Обучение, Длиннопост

💡 Здесь "Барсик" — это cat_name, а "рыбку" — это food. Всё просто, но если перепутать порядок, получится что-то странное.

🐾 Именованные параметры

Котики иногда бывают капризными и хотят, чтобы вы точно знали, что им нужно. Для этого есть именованные параметры:

Котики и функции: как передать им вкусняшки правильно? Python, Программирование, Обучение, Длиннопост

💡 Порядок больше не важен, главное — указать, кто и что ест. Это удобно, если у функции много параметров.

🐾 *args — для стаи котиков

Иногда у вас есть много котиков, и вы не знаете заранее, сколько их будет. Тогда на помощь приходит *args:

Котики и функции: как передать им вкусняшки правильно? Python, Программирование, Обучение, Длиннопост

💡 *args собирает все переданные параметры в кортеж. Это как мешок с вкусняшками, который вы раздаёте всем подряд.

🐾 **kwargs — для капризных котиков

А что если каждый котик хочет что-то своё? Тогда используем **kwargs:

Котики и функции: как передать им вкусняшки правильно? Python, Программирование, Обучение, Длиннопост

💡 **kwargs собирает все именованные параметры в словарь. Теперь каждый котик получает то, что он хочет.

🐾 Распаковка параметров

Иногда у вас уже есть список или словарь с данными, и вы хотите передать их в функцию. Для этого используется распаковка:

Котики и функции: как передать им вкусняшки правильно? Python, Программирование, Обучение, Длиннопост

💡 Звёздочки (* и **) помогают развернуть список или словарь в отдельные параметры.

🐾 Аннотации — чтобы не перепутать вкусняшки

Аннотации позволяют указать, какого типа должны быть параметры и возвращаемое значение. Это как наклейки на банках с едой: "рыбка", "молоко", "курочка".

Котики и функции: как передать им вкусняшки правильно? Python, Программирование, Обучение, Длиннопост

💡 Аннотации не влияют на выполнение кода, но помогают вам и другим программистам понять, что ожидать.

Заходите на https://t.me/pytonism — там есть, что ещё почитать и порешать ;)

Показать полностью 6
[моё] Python Программирование Обучение Длиннопост
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии