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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
➡️Функция string.capitalize() в Python используется для преобразования первой буквы строки в заглавную, а остальные буквы оставляются без изменений.

⬆️Этот код выведет "Hello world". Функция capitalize() удобна, если вам нужно форматировать строку так, чтобы первая буква была заглавной, например, при выводе заголовков или имен.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥53
🤣22👍3🔥3😁21
➡️Метод string.rfind() в Python используется для поиска последнего вхождения подстроки в строке. Метод возвращает индекс (позицию) последнего вхождения подстроки в строку, если подстрока не найдена, то метод возвращает -1.

⬆️В приведенном примере строка s содержит текст "hello world, hello". Метод rfind("hello") ищет последнее вхождение подстроки "hello" в строке s и возвращает индекс этого вхождения, который равен 13 (индексация начинается с нуля).

Если подстрока не найдена, метод возвращает -1:

s = "hello world"
index = s.rfind("test")

print(index) # -1


💡Метод string.rfind() полезен, когда вам нужно найти позицию последнего вхождения подстроки в строку, и может быть использован в различных сценариях программирования.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥2
🐍Python - это высокоуровневый язык программирования, который предлагает множество управляющих конструкций. Хотя в нем нет традиционного цикла "do while", как в других языках, цикл "while" в Python можно настроить для аналогичного поведения.

➡️Синтаксис традиционного цикла While

Цикл while в Python принимает форму while expression:, за которым следуют одно или несколько отступов в высказываниях. Цикл будет продолжать работать до тех пор, пока выражение больше не будет истинным. Например:

count = 0
while count < 5:
print(count)
count += 1 # Увеличиваем значение count на 1


В этом примере цикл будет продолжать выводить значение count, пока оно меньше 5.

➡️Эмуляция цикла Do While

Поскольку в Python нет традиционного цикла "do while", вы можете эмулировать его, используя цикл "while" с оператором "break". Вот пример:

while True:
print("Этот цикл выполнится хотя бы один раз")
if not condition:
break


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

➡️Практический пример цикла Do While

Допустим, вы хотите запросить у пользователя ввод, пока он не введет натуральное число. Вы могли бы использовать цикл "do while" так:

while True:
number = input("Введите натуральное число: ")
if number.isdigit():
break


В этом примере цикл будет продолжать запрашивать ввод пользователя, пока он не введет число.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥21
🤣23😁6👍41
Модуль schedule в Python позволяет создавать и управлять задачами, которые нужно выполнить по расписанию. Этот модуль удобен для автоматизации выполнения определенных действий в определенные моменты времени.

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

➡️Концепция работы:
schedule принимает: план выполнения (время или интервал) задания и имя функции для запуска с возможными параметрами.

Далее вызывается метод run_pending(), проверяющий планы выполнения и при необходимости выполняющий их.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥21
👍7
Что выдаст код выше?
Anonymous Quiz
7%
A B C
12%
A C
25%
B C
6%
A
1%
B
30%
C
19%
Error
👍101
Разбор

Цикл while должен был бы быть бесконечным, если бы его не прервал break, который находится внутри if'a (условие правдиво). Так как break стоит раньше, чем print('A'), то этот вывод не сработает.

Мы можем прикреплять else к циклам (while или for). Он будет срабатывать тогда, когда цикл не был прерван break конструкцией (а у нас был).
Таким образом ответом будет только вывод 'C'.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥6👏2
Counter - это класс из модуля collections в Python, который используется для подсчета хэшируемых объектов. Он представляет собой специальный вид словаря, который позволяет подсчитывать количество вхождений каждого уникального элемента в последовательности (списке, кортеже, строки и т. д.).

🔫Код на фото создаст объект Counter, который подсчитает количество вхождений каждого элемента в списке my_list. Результат будет представлен в виде словаря, где ключами будут уникальные элементы, а значениями - их количество.

💡Счетчик counter позволяет легко вычислить частоту. Он работает не только с числами, но и с любым итерируемыми объектами, такими как строки и списки.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥1
📄Pyperclip - это библиотека Python, которая позволяет копировать и вставлять текст в буфер обмена компьютера. Она предоставляет простой интерфейс для работы с буфером обмена, что делает ее очень удобной для автоматизации задач, связанных с копированием и вставкой текста.

➡️Pyperclip может быть использована для автоматизации задач, например, копирования текста из приложений и вставки его в другие приложения. Это удобно при написании скриптов, которые выполняют множество операций с текстом.

💡Отправка вывода вашей программы в буфер обмена облегчает его вставку в email, текстовый редактор или другую программу.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥4🤔1
↔️Slicing (отсечение) — это механизм выбора диапазона элементов из таких типов последовательностей, как список, кортеж, строки и т.д. Такое отсечение выполняется методом индексации.

💡Slicing в Python очень мощный инструмент, который позволяет легко и гибко работать с элементами в списках, строках и других итерируемых объектах. Он помогает упростить код и делает его более читаемым.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2
🔃Python также имеет встроенную функцию pow(), которая возводит число в указанную степень. Синтаксис данной функции выглядит следующим образом:

pow(base, exponent)


🔫Приведенный выше код интерпретируется как baseexponent, то есть число base в степени exponent.

➡️Функция pow() принимает два аргумента: число (известное как основание или base) и степень, в которую число должно быть возведено (показатель степени — exponent).

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥3
⚙️Динамическая типизация - это подход к типизации, при котором типы переменных определяются во время выполнения программы, а не на этапе компиляции. С динамической типизацией тип переменной связывается с данными во время выполнения на основе их значения и контекста использования. Это означает, что переменная может содержать данные любого типа, и ее тип может изменяться в процессе выполнения программы.

⬆️В этом примере переменная x сначала содержит целое число, затем строку, а затем список.

Тип переменной определяется автоматически во время выполнения программы на основе значения, присвоенного переменной.

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥2
😁20🤣16👍102
➡️Что такое Дескрипторы?

Дескрипторы - это объекты, которые определяют поведение атрибутов при их доступе, изменении и удалении. В Python дескрипторы определяются методами __get__, __set__ и __delete__ в дескрипторном классе. Эти методы позволяют управлять тем, как атрибуты объекта получают, изменяют и удаляют значения.

➡️Пример использования Дескрипторов

Рассмотрим пример использования дескрипторов. Предположим, у нас есть класс Person, который имеет атрибут age. Мы хотим гарантировать, что возраст не может быть отрицательным числом. Для этого мы можем использовать дескриптор. Мы создадим класс NonNegative, который будет дескриптором для возраста. В этом классе мы определим метод __set__, который будет проверять, является ли новое значение отрицательным числом. Если это так, метод __set__ вызовет исключение.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥6👍4
➡️LeetCode - это платформа для подготовки к техническим собеседованиям, где вы можете практиковать свои навыки программирования. Они предлагают широкий спектр задач, связанных с алгоритмами и структурами данных, которые могут быть использованы в индустрии.

⁉️ Зачем использовать LeetCode?

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

⁉️Как использовать LeetCode?

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥54
➡️Рекурсия - это механизм в программировании, когда функция вызывает саму себя. В Python рекурсия широко используется для решения задач, которые могут быть разбиты на более простые подзадачи.

⬆️Код на фото определяет функцию factorial, которая вызывает саму себя, пока n не станет равным 0. Когда n достигает 0, функция возвращает 1. Затем все вложенные вызовы функции умножаются между собой, чтобы получить итоговый результат.

💡Однако следует помнить о возможных проблемах с рекурсией, таких как переполнение стека вызовов при слишком глубоком вложении функций, что может привести к ошибке "RecursionError: maximum recursion depth exceeded". Поэтому нужно быть осторожным при использовании рекурсии и думать о возможности оптимизации кода.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥3
➡️Модель в Django - это специальный класс Python, который определяет структуру таблицы в базе данных. Каждый атрибут класса соответствует столбцу в таблице, а тип атрибута определяет тип данных, хранимых в столбце. Django предоставляет множество типов полей, таких как CharField, IntegerField, BooleanField и другие, которые можно использовать для определения различных типов данных.

👩‍💻 Создание модели

Чтобы создать модель в Django, нужно создать новый класс Python в файле models.py вашего приложения. Например, если вы создаете блог, вы можете создать модель для статей следующим образом:

from django.db import models

class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)

⬆️В этом примере мы создали модель Article с тремя полями: title, content и pub_date. Поле title определено как CharField с максимальной длиной 100 символов. Поле content определено как TextField, который может хранить длинные тексты. Поле pub_date определено как DateTimeField, который автоматически заполняется текущей датой и временем при создании новой записи.

Все поля для моделей и их описание

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2