Forwarded from Pythonist.ru - образование по питону
Задача с кодом. Список файлов в директории
Условие: Выведите список файлов в заданной директории.
Решение на нашем сайте. Совет: прежде чем смотреть решение, потратьте хотя бы 30 минут на написание своего собственного кода, т.к. лучше подумать и не решить, чем решить, но не подумать.
#задача #coding
Условие: Выведите список файлов в заданной директории.
Решение на нашем сайте. Совет: прежде чем смотреть решение, потратьте хотя бы 30 минут на написание своего собственного кода, т.к. лучше подумать и не решить, чем решить, но не подумать.
#задача #coding
Forwarded from Pythonist.ru - образование по питону
Топ. 7 фишек Python, максимально улучшающих твой код
Рассказываем об особенностях языка Python, позволяющих писать более лаконичный и читаемый код.
Читать статью
#топ
Рассказываем об особенностях языка Python, позволяющих писать более лаконичный и читаемый код.
Читать статью
#топ
Forwarded from Pythonist.ru - образование по питону
Tips & Tricks. Как разбить строку на символы в Python?
В этой статье мы разберем, как в Python можно разбить строку на символы, в том числе с использованием встроенной функции list() и цикла for.
Читать статью
#строки #функции
В этой статье мы разберем, как в Python можно разбить строку на символы, в том числе с использованием встроенной функции list() и цикла for.
Читать статью
#строки #функции
Forwarded from Pythonist.ru - образование по питону
Задача с кодом. Пишем функцию для «тупого добавления»
Условие: Создайте функцию, которая принимает два параметра. Если оба параметра — строки, то сложите их математически, если оба — integer, тогда сконкатенируйте их. Если параметры разного типа — верните None.
Примеры:
stupid_addition(1, 2) ➞ "12"
stupid_addition("1", "2") ➞ 3
stupid_addition("1", 2) ➞ None
Решение на нашем сайте. Совет: прежде чем смотреть решение, потратьте хотя бы 30 минут на написание своего собственного кода, т.к. лучше подумать и не решить, чем решить, но не подумать.
#задача #coding
Условие: Создайте функцию, которая принимает два параметра. Если оба параметра — строки, то сложите их математически, если оба — integer, тогда сконкатенируйте их. Если параметры разного типа — верните None.
Примеры:
stupid_addition(1, 2) ➞ "12"
stupid_addition("1", "2") ➞ 3
stupid_addition("1", 2) ➞ None
Решение на нашем сайте. Совет: прежде чем смотреть решение, потратьте хотя бы 30 минут на написание своего собственного кода, т.к. лучше подумать и не решить, чем решить, но не подумать.
#задача #coding
Forwarded from Pythonist.ru - образование по питону
Топ. 10 проектов в 10 строк кода
Учиться программировать лучше всего на простых проектах. Онлайн-клуб для разработчиков и исследователей предлагает создать 10 проектов на Python, каждый из которых можно уложить в 10 строк кода.
Читать статью
#топ
Учиться программировать лучше всего на простых проектах. Онлайн-клуб для разработчиков и исследователей предлагает создать 10 проектов на Python, каждый из которых можно уложить в 10 строк кода.
Читать статью
#топ
Forwarded from Pythonist.ru - образование по питону
Топ. Python 3: изменяемый, неизменяемый…
Рассказываем с самого начала, чем изменяемые объекты отличаются от неизменяемых и как это проявляется на практике. Также затрагиваем тему преаллокации и передачи аргументов в функции.
Читать статью
#ооп
Рассказываем с самого начала, чем изменяемые объекты отличаются от неизменяемых и как это проявляется на практике. Также затрагиваем тему преаллокации и передачи аргументов в функции.
Читать статью
#ооп
Forwarded from Pythonist.ru - образование по питону
Django. Что нового в третьей версии фреймворка?
Рассматриваем новые функции, появившиеся в Django 3, а также рассказываем, что удалено в новой версии.
Читать статью
#django
Рассматриваем новые функции, появившиеся в Django 3, а также рассказываем, что удалено в новой версии.
Читать статью
#django
Forwarded from Python Academy
Композиция классов
Один из способов организации взаимодействия между классами – это композиция, или же ассоциация, классов.
В этом случае один из классов (в примере выше это
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора. В таком случае необходимо использовать слабые ссылки из модуля
#классы #ооп
Один из способов организации взаимодействия между классами – это композиция, или же ассоциация, классов.
В этом случае один из классов (в примере выше это
Salary
) является полем другого (Employee
). Сложного здесь, как вы видите, ничего нет.Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора. В таком случае необходимо использовать слабые ссылки из модуля
weakref
, о котором поговорим позже.#классы #ооп
Forwarded from Python Academy
Assert
Если выполнить инструкцию
Исключения
Не нужно, например, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try except. Если таких мест будет очень много, то это затронет и производительность программы.
#исключения #assert
Если выполнить инструкцию
assert
с логическим выражением, результат которого равен True
, ничего не произойдет. Но если попробовать выполнить инструкцию assert
с логическим выражением, которое равно False
, то будет сгенерировано исключение AssertionError
.Исключения
AssertionError
предназначены скорее для программистов. При написании программ на этапе разработки мы должны видеть, что делаем что-то не так (к примеру, передали в функцию некорректное значение). Не нужно, например, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try except. Если таких мест будет очень много, то это затронет и производительность программы.
#исключения #assert
Forwarded from Python Academy
Влейся в ряды единомышленников
Кстати, если вы не знали, то у нас также есть чат, в котором уже 500+ участников — @python_academy_chat.
Присоединяйтесь, задавайте свои вопросы и не забывайте помогать другим :)
Кстати, если вы не знали, то у нас также есть чат, в котором уже 500+ участников — @python_academy_chat.
Присоединяйтесь, задавайте свои вопросы и не забывайте помогать другим :)
Forwarded from Python Academy
Статические методы
Отличие статического метода от обычного метода класса в том, что первый привязан к классу, а не объекту.
Такой тип методов по умолчанию не принимает ни объект, ни класс – прописывать
Обычную функцию стоит вносить в класс в качестве статического метода в том случае, когда эта функция логически относится к классу и имеет смысл там быть.
#классы
Отличие статического метода от обычного метода класса в том, что первый привязан к классу, а не объекту.
Такой тип методов по умолчанию не принимает ни объект, ни класс – прописывать
self
или cls
в аргументах не нужно. То есть статические методы не могут модифицировать ни объект, ни сам класс. Обычную функцию стоит вносить в класс в качестве статического метода в том случае, когда эта функция логически относится к классу и имеет смысл там быть.
#классы
Forwarded from Python Academy
Наследование
Наследование позволяет создавать новый класс на основе уже существующего. Таким образом, можно создать новый класс, взяв за основу все методы и атрибуты другого.
В данном случае класс
Наследование классов нужно для изменения поведения конкретного класса, а также для расширения его функционала.
#классы #ооп
Наследование позволяет создавать новый класс на основе уже существующего. Таким образом, можно создать новый класс, взяв за основу все методы и атрибуты другого.
В данном случае класс
Person
является родительским классом, также его называют базовым классом или суперклассом. А класс Employee
называется дочерним классом или подклассом.Наследование классов нужно для изменения поведения конкретного класса, а также для расширения его функционала.
#классы #ооп
Forwarded from Python Academy
Геттеры и сеттеры
В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция
В Python геттер реализуется через декоратор
Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту.
#классы #property
В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция
{ get; set; }
.В Python геттер реализуется через декоратор
@property
, а сеттер в виде @свойство.setter
. В примере метод геттера называется age
, поэтому декоратор сеттера – @age.setter
.Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту.
#классы #property
Forwarded from Хабр
Что происходит сейчас в мире информационных технологий? На каждом углу реклама курсов, которые сделают из тебя настоящего программиста за 21 день с гарантированным трудоустройство сразу на позицию %Language% Middle Developer.
Вы безумны, остановитесь пока не поздно!
Вы безумны, остановитесь пока не поздно!
Forwarded from Хабр
Каверзные вопросы по Python
В каждом языке программирования есть моменты, которые требуют повышенной концентрации внимания или больше практики для своего понимания. Python в этом плане не исключение.
В каждом языке программирования есть моменты, которые требуют повышенной концентрации внимания или больше практики для своего понимания. Python в этом плане не исключение.
Forwarded from Библиотека питониста | Python, Django, Flask
Realpython
PyPy: Faster Python With Minimal Effort – Real Python
In this tutorial, you'll learn how you can use PyPy to improve the speed of your applications. You'll see how PyPy compares with other Python implementations like CPython and learn about features that you can use to gain significant performance boosts without…
Forwarded from Библиотека питониста | Python, Django, Flask
Какие навыки тестировщика на Python востребованы в проектах?
Про актуальные технологии автотестирования расскажет 2 декабря Семён Вяземский, QA Lead одной из ведущих телекоммуникационных компаний. Семен поделится своим опытом, ответит на вопросы зрителей и представит программу онлайн-курса «Python QA Engineer». Это Demo day, где вы узнаете об особенностях курса, как организована практика и получите возможность сэкономить на обучении.
Хотите лучше подготовиться к встрече? Проходите вступительный тест, который поможет оценить ваш стартовый уровень. Регистрируйтесь на вебинар и запасайтесь вопросами https://otus.pw/Pcyz/
Про актуальные технологии автотестирования расскажет 2 декабря Семён Вяземский, QA Lead одной из ведущих телекоммуникационных компаний. Семен поделится своим опытом, ответит на вопросы зрителей и представит программу онлайн-курса «Python QA Engineer». Это Demo day, где вы узнаете об особенностях курса, как организована практика и получите возможность сэкономить на обучении.
Хотите лучше подготовиться к встрече? Проходите вступительный тест, который поможет оценить ваш стартовый уровень. Регистрируйтесь на вебинар и запасайтесь вопросами https://otus.pw/Pcyz/
Forwarded from Библиотека питониста | Python, Django, Flask
Advanced Python Development (2020)
Автор: Matthew Wilkes
Количество страниц: 628
Эта книга создана на основе базовых руководств по Python для объяснения различных особенностей языка, которые обычно не рассматриваются: от многократно используемых консольных скриптов, которые выполняют двойную работу в качестве микросервисов за счет использования точек входа, до эффективного использования asyncio для сопоставления данных из большого количества источников. Попутно книга охватывает линтинг на основе типов, тестирование с минимальными затратами и другие автоматические проверки качества, чтобы продемонстрировать надежный процесс разработки в реальном мире.
Скачать книгу
Автор: Matthew Wilkes
Количество страниц: 628
Эта книга создана на основе базовых руководств по Python для объяснения различных особенностей языка, которые обычно не рассматриваются: от многократно используемых консольных скриптов, которые выполняют двойную работу в качестве микросервисов за счет использования точек входа, до эффективного использования asyncio для сопоставления данных из большого количества источников. Попутно книга охватывает линтинг на основе типов, тестирование с минимальными затратами и другие автоматические проверки качества, чтобы продемонстрировать надежный процесс разработки в реальном мире.
Скачать книгу
Telegram
Книги для программистов (reserved)
Advanced Python Development (2020)
Автор: Matthew Wilkes
Автор: Matthew Wilkes
Forwarded from Твой Программист
9 магических фактов об Python
Язык Python очень широк в использовании, простой для изучения и использования, но в нем всё-таки есть немного магии.
В статье ниже читайте об этом:
https://towardsdatascience.com/10-magical-facts-about-python-39d7f3a2c203
Не до конца понял либо есть что обсудить? - Сделай это в нашем чате.
Твой Программист 💻
Язык Python очень широк в использовании, простой для изучения и использования, но в нем всё-таки есть немного магии.
В статье ниже читайте об этом:
https://towardsdatascience.com/10-magical-facts-about-python-39d7f3a2c203
Не до конца понял либо есть что обсудить? - Сделай это в нашем чате.
Твой Программист 💻
Forwarded from Python Academy
Дополнение про property
Важно отметить, что
Конструктор
Простыми словами, в примере
Кстати, можете посмотреть простейшую реализацию такого свойства в официальной документации.
#классы #property
Важно отметить, что
property
– это класс, реализованный через протокол дескриптора. Его методы setter
, getter
, deleter
и их использование в качестве декораторов – синтаксический сахар.Конструктор
property
принимает на вход аргументы fget
, fset
, fdel
, которые должны быть функциями. Они отвечают за получение, установку нового значения и удаление атрибута соответственно. Простыми словами, в примере
property
прикрепляет функции get_age
и set_age
к атрибуту age
. Также можно было реализовать условный delete_age
, который отвечал бы за удаление атрибута.Кстати, можете посмотреть простейшую реализацию такого свойства в официальной документации.
#классы #property