Русский
Открыть в Telegram
6 535подписчиков−43 за неделю
637средний охват поста
9.8%ER — охват к подписчикам
6постов за 30 дней
Pythoner
❓Разбор Я думаю, что почти все из вас работали/знают, как работать с файловой системой в Python. Фишка этой задачи в том, что сперва мы создаем файл, куда закидываем текст Ben. Вторым этапом идет добавление (потому что буква 'a') к уже существующему слову Ben слова Big —> BenBig. Ну а далее мы открываем опять файл на запись через 'w', что означает, что ВСЕ данные в файле будут перезаписаны. —> BenBig удалится, а Moon появится. Как результат, при чтении мы получим просто слово Moon.
5 · 1.6K ·
P
Фотография
➡️Открытие изображения Первая команда, которую мы рассмотрим, это открытие изображения. С помощью функции open() из библиотеки PIL вы можете загрузить изображение из файла и сохранить его в переменную. Например, следующий код загрузит изображение с названием "image.jpg": from PIL import Image image = Image.open("image.jpg") После выполнения этого кода, изображение будет загружено и готово к дальнейшей обработке. ➡️Изменение размера изображения Вторая команда, которую мы рассмотрим, это изменение размера изображения. Библиотека PIL предоставляет функцию resize(), которая позволяет изменять размер изображения. Например, следующий код изменит размер изображения до 500 пикселей по ширине и 300 пикселей по высоте: resized_image = image.resize((500, 300)) Вы можете указать любые значения для ширины и высоты в пикселях, чтобы получить нужный размер изображения. ➡️Сохранение изображения Третья команда, которую мы рассмотрим, это сохранение изображения. После выполнения всех необходимых операций с изображением, вы можете сохранить его в файл с помощью функции save(). Например, следующий код сохранит измененное изображение в файл с названием "resized_image.jpg": resized_image.save("resized_image.jpg") Вы также можете указать другой формат файла, добавив соответствующее расширение к названию файла. 🐍Pythoner
23 · 1.6K ·
Pythoner
Фотография
➡️В мире Python есть такая штука — str.join(). Это как волшебная палочка, которая соединяет слова, фразы или элементы списка в одну большую строку. Представьте себе, что вы устраиваете вечеринку и хотите объединить всех друзей в круг. str.join() — это как магия, которая собирает всех вместе! ➡️Давайте посмотрим, как это работает на практике: # Допустим, у нас есть список слов words = ["Привет", "мир", "я", "Python"] # И мы хотим объединить их в предложение sentence = ' '.join(words) print(sentence) ⬆️В результате этого кода мы получим строку: "Привет мир я Python". ➡️Как это работает? join() берет список (words в нашем случае) и использует пробел ' ' в качестве "клея", чтобы соединить все слова в одну строку. В результате каждый элемент списка становится частью большой строки, разделенной пробелами или любым другим символом, который мы укажем перед join(). ➡️Еще один пример: users = ["RimMirK", "Anuke", "compuser"] result = ', '.join(users) print(result) # "RimMirK, Anuke, compuser" ⬆️Тут мы соединили пользователей с через запятую 🐍Pythoner
18 · 1.6K ·
P
Фотография
➡️Можно использовать умножение (*) со строками или списками; умножать их можно любое количество раз. ⬆️В примере на фото строка и список будут повторятся 3 раза: #abcdabcdabcd Интересным вариантом может быть определение списка с постоянным значением, скажем, ноль. 🐍Pythoner
3 · 1.7K ·
Pythoner
Фотография
➡️Метод pop() случайным образом удаляет элемент из множества и возвращает удаленный элемент. Если в множестве отсутствуют элементы, выдается TypeError. 🐍Pythoner
8 · 1.8K ·
P
Фотография
➡️Этот фрагмент кода позволяет принимать сразу несколько значений вводимых данных, которые разделены пробелами. Он пригодится при решении задач на соревнованиях по программированию. 🐍Pythoner
8 · 1.8K ·
Pythoner
Фотография
➡️При создании списка, в памяти резервируется пустая область. С одной стороны, это ничем не отличается от создания любого другого типа данных, но разница в том, что содержимое list может меняться 🐍Pythoner
2 · 1.9K ·
P
Фотография
🔎Флаг явного преобразования используется для преобразования значения поля format перед его непосредственным форматированием. ➡️Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования: !r – преобразует значение в строку, используя функцию repr() !s – преобразует значение в строку, используя функцию str() ⬆️В примере на фото, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s – без кавычек (в более удобном для чтения виде). 🐍Pythoner
8 · 1.7K ·
Pythoner
Фотография
🔎SQLAlchemy - это популярная библиотека для работы с базами данных в Python. Она предоставляет удобные инструменты для создания, изменения и управления базами данных с помощью объектно-реляционного отображения (ORM). ➡️Создание моделей данных Первый шаг в создании базы данных с использованием SQLAlchemy - это определение моделей данных. Модель данных - это класс, который описывает структуру таблицы в базе данных. Каждый атрибут класса представляет собой столбец в таблице, а каждый экземпляр класса - строку в таблице. Например, допустим, мы хотим создать базу данных для хранения информации о пользователях. Мы можем создать класс User, который будет представлять каждого пользователя в базе данных. В этом классе мы определим атрибуты, такие как id, name и email, которые будут соответствовать столбцам в таблице. ➡️Создание таблицы в базе данных После определения моделей данных мы можем создать таблицы в базе данных. SQLAlchemy предоставляет метод create_all(), который автоматически создает все таблицы, определенные в моделях данных. ➡️Пример: from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String # Создание движка базы данных engine = create_engine('sqlite:///mydatabase.db') # Создание сессии Session = sessionmaker(bind=engine) session = Session() # Создание базовой модели Base = declarative_base() # Определение модели данных class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) email = Column(String) # Создание таблиц Base.metadata.create_all(engine) 🐍Pythoner
21 · 1.7K ·
P
Фотография
➡️Для присвоения значения любой переменной среды используется функция setdefault(). ⬆️Давайте напишем код, чтобы с помощью функции setdefault() изменить значение переменной DEBUG на True (по умолчанию установлено False). После установки значения мы проверим его функцией get(). ➡️Если мы сделали всё правильно, выведется сообщение «Режим отладки включен», в противном случае – «Режим отладки выключен». 🐍Pythoner
5 · 1.7K ·
Pythoner
Фотография
➡️Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. ⬆️Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize. ➡️По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению. 🐍Pythoner
12 · 2K ·
P
❓ Разбор Разберем код построчно: 💬Создаём переменную со списком [6, 0] и сразу его переворачиваем -> l = [0, 6] 💬Выводим этот список. На экране [0, 6] 💬Проходимся по нашему списку через enumrate. Enumeratе это генератор, который выдает следующий елемент списка и его порядковый номер. Первый параметр принимает итерируемый объект. for i, e in enumerate(['a', 'b', 'c']): print(i, e) # a 0, b 1, c 2 Второй параметр - это с какого числа начинать отсчет. for i, e in enumerate(['a', 'b', 'c'], 3): print(i, e) # a 3, b 4, c 5 💬Выводим изначальный список. Он выведется два раза тк цикл сработает два раза Вывод: [0, 6] [0, 6] [0, 6] 🐍Pythoner
4 · 1.9K ·
P
Pythoner
Фотография
➡️В модуле math есть особый объект, который называется NaN (Not a Number). ➡️Эти объекты NaN не уникальны, и даже не равны самим себе, так что вы можете иметь несколько подобных объектов, взятых из нескольких разных источников. 🔎Например можно создать подобный объект, просто передав строку 'nan' во float. Кстати говоря, это значит что вы можете использовать NaN в качестве ключа в словаре (хотя мы и не советуем это делать). 🐍Pythoner
3 · 1.8K ·
P
Фотография
🔎Генераторы являются одной из мощных возможностей языка Python. Они позволяют создавать итерируемые объекты без необходимости хранить все значения в памяти. ➡️Что такое генераторы? Генераторы в Python - это функции, которые возвращают последовательность значений во время выполнения. Они работают по принципу "ленивого вычисления", то есть значения генерируются по мере необходимости. Генераторы используют ключевое слово yield для возврата значений вместо return, как это делается в обычных функциях. ➡️Преимущества генераторов Генераторы предлагают несколько преимуществ, особенно когда речь идет о работе с большими объемами данных. Во-первых, используя генераторы, мы можем сэкономить память, так как значения необходимо хранить только во время их генерации. Во-вторых, генераторы могут быть бесконечными, что позволяет работать с бесконечными последовательностями данных. В-третьих, генераторы могут быть использованы для ленивой обработки данных, когда нужно обрабатывать данные по мере их получения, а не все сразу. ➡️Как использовать генераторы? Для создания генератора в Python нужно определить функцию, внутри которой будет использоваться ключевое слово yield. Когда вызывается этот генератор, он возвращает итерируемый объект, который можно использовать в циклах for или получать значения с помощью функции next(). Каждый вызов yield возвращает значение из генератора и "замораживает" его состояние, позволяя продолжить выполнение с того же места в следующий раз. 🐍Pythoner
14 · 1.8K ·
P
Pythoner
Фотография
➡️Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools. Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций. ➡️Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров. 🐍Pythoner
10 · 1.8K ·
Pythoner
Фотография
➡️Давайте создадим Python-файл со следующим скриптом для проверки переменных. Для чтения значений переменных мы используем модуль os, а модуль sys — для прекращения работы приложения. ➡️Бесконечный цикл while непрерывно принимает от пользователя имена переменных и проверяет их значения до тех пор, пока пользователь не введёт имя переменной, которой не присвоено значение. ➡️Если пользователь вводит имя переменной окружения, которой присвоено значение, это значение выводится, если же нет — выводится соответствующее сообщение и процесс останавливается. 🐍Pythoner
8 · 2K ·
P
Pythoner
Фотография
🔎В Python - Iterable представляет собой объект, который может быть перебран, то есть в котором можно пройтись по его элементам поочередно. Это может быть список, кортеж, строка или другой тип данных, который поддерживает итерацию. ➡️Когда мы используем цикл for в Python для перебора элементов, он фактически работает с iterable объектами. Например, если у нас есть список чисел numbers = [1, 2, 3, 4, 5], мы можем перебрать его элементы следующим образом на фото. ⬆️В примере на фото numbers является iterable объектом, и цикл for позволяет нам последовательно обойти все элементы списка. ➡️Iterable в Python обеспечивает удобство итерации по данным, что очень полезно при работе с коллекциями элементов разного типа. Важно помнить, что не все объекты являются iterable - для этого они должны реализовывать метод __iter__(), который возвращает итератор, или поддерживать итерацию через протокол итераторов. 🐍Pythoner
7 · 1.9K ·
Pythoner
Фотография
🔎Синглтон - это паттерн проектирования, который обеспечивает наличие только одного экземпляра определенного класса. Интересно то, что этот единственный экземпляр предоставляет глобальную точку доступа к этому объекту в вашем коде. ⬆️ В примере на фото класс Singleton имеет переменную класса _instance, которая хранит единственный экземпляр объекта. При создании экземпляра класса Singleton проверяется, существует ли уже экземпляр. Если нет, то создается новый экземпляр; если уже есть, то возвращается существующий. ➡️Зачем это полезно? Синглтоны пригодны, когда у вас есть ресурсоемкая задача, которая должна быть выполнена только один раз за время работы программы или когда требуется обеспечить глобальный доступ к определенному объекту. ➡️Понимание синглтонов может быть полезным для эффективной организации кода и управления ресурсами в ваших проектах на Python. 🐍Pythoner
11 · 1.9K ·
P
Фотография
➡️Распаковка значений в Python - это способ присвоения значений из итерируемых объектов переменным. Это позволяет извлечь значения из списка, кортежа, строки или других итерируемых объектов и присвоить их отдельным переменным. ➡️Комбинации с примерами и краткими описаниями: 1. Распаковка в несколько переменных: a, b, c = 1, 2, 3 # a = 1, b = 2, c = 3 ➡️Присваивание значений из кортежа переменным. 2. Распаковка посимвольно в строки: a, b = "12" # a = '1', b = '2' ➡️Разделение строки на отдельные символы и присваивание их переменным. 3. Распаковка с использованием звёздочки (*): a, *b = 1, 2, 3 # a = 1, b = [2, 3] ➡️Сбор оставшихся значений в список с использованием звёздочки. 4. Распаковка в переменную со звёздочкой (*): a, *b, c = 1, 2, 3, 4 # a = 1, b = [2, 3], c = 4 ➡️Присваивание первого и последнего значения, а остаток помещается в список. 5. Игнорирование значений при распаковке: a, _, b = 7, 8, 9 # a = 7, b = 9 (значение 8 игнорируется) ➡️Пропуск значений, которые не нужны при присвоении. ➡️Различные итерируемые объекты: Можно использовать любые итерируемые объекты, такие как списки, кортежи, строки, объекты, поддерживающие итерацию и даже функция range(): - Список: a, b, c = [4, 5, 6] # a = 4, b = 5, c = 6 - Кортеж: x, y = (10, 20) # x = 10, y = 20 - Строка: char1, char2, char3 = "xyz" # char1 = 'x', char2 = 'y', char3 = 'z' - Использование range(): a, b, c = range(1, 4) # a = 1, b = 2, c = 3 Итог: Распаковка значений в Python - удобный и эффективный способ присваивания значений переменным из итерируемых объектов, делая код более читаемым и компактным. Это дает гибкость при работе с данными различных типов и структур. 🐍Pythoner
29 · 1.9K ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем