Just Python
10.3K subscribers
4.33K photos
11 videos
4.31K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Новая сетка Telegram-каналов CodeGuard — собрана для твоего роста в IT!

📱 Обучение и задачи по Python
t.iss.one/CodeGuard_Python

🖥 Книги, курсы и гайды
t.iss.one/CodeGuard_Academy

🤔 InfoSec & Хакинг
t.iss.one/CodeGuard_PySec

👩‍💻 Знания и навыки Linux
t.iss.one/CodeGuard_Linux

📱 Backend и инсайды IT-сферы
t.iss.one/CodeGuard_SciencePop

💼 Фриланс и работа в IT
t.iss.one/CodeGuard_VacancyIT

📌 Инструменты, гайды, шпаргалки, тренажеры и практические гайды.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Данные пользователя на главной странице | is_authenticated

Обновим шаблон base.html таким образом, чтобы пользователи могли увидеть сообщение вне зависимости от того, прошли они аутентификацию или нет. Для этого будем использовать атрибут is_authenticated.

Теперь нужно просто разместить следующий код в нужном месте нашего шаблона. Обновим файл base.html, вставив новый код под закрывающимся тегом </header>.

#theory // Just Python
Список всех переменных

Эта команда выдает список всех глобальных переменных, используемых в вашем блокноте.

Если мы используем %who, она перечислит все 3 переменные, которые мы задали.

#theory // Just Python
Как просмотреть содержимое внешнего файла?

Часто вам может понадобиться скопировать в свой код несколько строк кода из внешнего файла. Команда %pycat избавит вас от долгой процедуры извлечения определенных данных из файла и их копирования в другой файл. Она позволяет просматривать содержимое любого файла в любом каталоге.

#theory // Just Python
Копирование содержимого во внешний файл

В большинстве случаев возникает необходимость скопировать содержимое вашей ячейки в скрипт python или текстовый файл непосредственно из вашего блокнота Jupyter.

Вместо того чтобы копировать все и создавать новый файл, вы можете напрямую экспортировать свои данные, добавив команду writefile в ячейку перед кодом.

#theory // Just Python
Как работают перечисления enum?

Python 3 поддерживает простой способ написания перечислений через класс Enum. Этот класс можно назвать удобным способом инкапсуляции списка констант, чтобы они не были разбросаны по всему коду без структуры.

#theory // Just Python
Итерируемые объекты

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

#theory // Just Python
Получение срезов итераторов

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

#theory // Just Python
Динамический ввод (ч.1)

В Java, C++ и других статически типизированных языках нужно указывать тип данных возвращаемого значения функции и тип каждого её аргумента. Напротив, Python, как динамически типизированный язык, не вынуждает явно указывать типы данных. На основе присвоенных значений Python отслеживает их сам.

#theory // Just Python
Упрощение создания операторов сравнения

Декоратор functools.total_ordering используется здесь для упрощения процесса реализации упорядочения экземпляров класса. Для обеспечения его работы нужно лишь чтобы были объявлены операторы сравнения lt и eq. Это — тот минимум, который нужен декоратору для конструирования остальных операторов сравнения.

#theory // Just Python
Операторы сравнения

Существует немало операторов сравнения. Например — lt, le, gt, ge. Мало кому понравится перспектива их реализации для некоего класса. Можно ли как-то упростить эту скучную задачу? Да, можно — с помощь декоратора functools.total_ordering

#theory // Just Python
Розыгрыш iPhone 17 Pro и лучших AirPods!
С каналом Костыль разыгрываем 2 отличных приза:

Призы
➡️iPhone 17 Pro — лучший iPhone, универсального размера. Цвет выберет победитель

➡️AirPods Pro 3 — наушники получит победитель под номером 2

Условия:
• подписаться на @Romancev768
• подписаться на @kostylofficial
• нажать на кнопку «Участвовать» под этим постом.

Двух победителей выберет рандомайзер.

Когда итоги?
В пятницу, 19 декабря, в 18:00

Где итоги?
В этом посте, вы его читаете, все итоги подводятся в постах с кнопкой «Участвовать».

Как получить?
Доставим в ближайшее отделение СДЭК. Получателю должно быть 18+, могут забрать родители.

А точно не скам?
Победители получат кружок в котором я назову их имя и расскажу о доставке приза.
Please open Telegram to view this post
VIEW IN TELEGRAM
Имитация

В вышеприведённом примере экспортирована будет лишь функция bar. А если оставить атрибут all пустым, то из модуля не будет экспортироваться вообще ничего. При попытке импорта чего-либо из такого модуля будет выдана ошибка AttributeError.

#theory // Just Python
Управление тем, что может быть импортировано из модуля, а что — нет

В некоторых языках имеются предельно чёткие механизмы экспорта из модулей переменных, методов, интерфейсов. Например — в Golang экспортируются лишь сущности, имена которых начинаются с большой буквы. В Python же экспортируется всё. Но лишь до тех пор, пока не используется атрибут all

#theory // Just Python
Экономия памяти с помощью slots

Эта функция хорошо сказывается на производительности, но, с точки зрения потребления памяти, это неэффективно. Обычно, правда, проблем эта особенность не вызывает. Однако если вы столкнулись в подобной ситуации с нехваткой памяти — можете попробовать воспользоваться атрибутом slots

#theory // Just Python
Итерация по Списку в Python С Помощью Метода Enumerate

Если вы не знаете, что именно enumerate делает в python, то позвольте мне объяснить вам.Метод enumerate() добавляет счетчик к итерируемому объекту и возвращает его. И что бы ни возвращал метод enumerate, это будет объект enumerate.

Основное преимущество использования метода enumerate заключается в том, что вы можете преобразовать объекты enumerate в list и tuple с помощью методов list() и tuple() соответственно.

#theory // Just Python
Использование генераторов списков для быстрого создания списков

Генераторы списков (list comprehensions) позволяют создавать новые списки на основе существующих в одну строку. Это значительно упрощает код и делает его более читабельным.

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

#theory // Just Python
Использование функции import для динамического импорта модулей

В эт
ом примере мы используем функциютом примере для динамического импорта математического модуля. Функцияа модулей

Ввозвращает объект модуля, который мы можем использовать для доступа к его атрибутам и функциям.

#theory // Just Python