550 читали · 5 лет назад
IT для всех
515
подписчиков
IPython и Jupyter Notebook - установка и знакомство
IPython Эту среду можно назвать продвинутым интерпретатором Python. Если Python - механизм решения задач, то IPython - интерактивная панель управления. Оболочка IPython является интерактивным интерфейсом для Python и имеет множество синтаксических дополнений к нему. Есть два варианта использования IPython: 1. Командная строка IPython 2. Блокнот IPython Для установки командной строки IPython требуется выполнить команду менеджера пакетов pip: pip install IPython После мы просто вводим в командной...
Python. Форматированный вывод
Теория В Python можно при выводе вставлять нужные переменные посреди строки, не редактируя её. Это можно сделать с помощью string метода .format(). Рассмотрим документацию(которую мы научились читать тут) к .format(): Или же, в переводе: Возвращает форматированную версию S, используя подстановки из args и kwargs. Подстановки обозначаются фигурными скобками ('{'и '}'). Здесь указано, что можно использовать подстановки из args и kwargs. args - любая последовательность аргументов (любые одиночные переменные) kwargs - или же пары: ключ-значение (доступ к значению по ключу или же атрибуту)...
Python. Стандартные методы строк
В Python есть множество стандартных методов для строк, которые облегчают работу с текстовыми данными, попробую рассказать о некоторых из них: Вхождение подстроки в строку с помощью ключевого слова in Определяет, является ли подстрока частью другой строки и возвращает булево значение. Позиция вхождения - find() и rfind() Синтаксис: "str_1".find("str_2) Входит ли str_2 в str_1? Возвращает позицию вхождения начиная с нуля. rfind - тоже самое, но справа-налево. Если строка не входит - возвращает -1 Согласно документации, можно указывать начало и конец поиска по индексу: S...
Читаем документацию к Python прямо в интерпретаторе
В Python есть возможность читать встроенную в код документацию с помощью двух инструментов, а также писать собственную. Рассмотрим, как это можно делать: Получаем документацию с помощью метода help() Вызов метода help(), возвращает полную справку о переданной функции/объекте. Синтаксис: print(help(<объект справки>) Например: Справка вернула полную информацию о List-e, включая методы его исходного кода(их намного больше, так как все перечислять слишком долго). Это работает со всеми стандартными функциями и объектами...
Python. Как следить за чистотой кода?
Что такое PEP8? PEP8 - это рекомендательная документация по стилистике написания кода на Python. Она содержит в себе такие правила как: размер отступов, правильное именование переменных, то как должна выглядеть документация в самих модулях и так далее. Всё это направлено на улучшение читаемости и "чистоты" кода. Как всё запомнить? Запоминать вовсе ничего не обязательно, хотя такие базовые вещи, как более менее правильные названия переменных стоит знать. Существуют такие инструменты разработчика как Linter...
Python. Функции
Вроде бы функции они и в Африке функции, но попробую затронуть некоторые детали их написания на языке Python. Что такое функция? Функция - это кусок кода, который можно вызывать многократно с разными входными значениями. Полезно делать декомпозицию программы, деля часто повторяющиеся действия на функции. Функции можно определить и вызвать. Функция может возвращать значения с помощью ключевого слова return. После написания слова return никакой код в теле функции не выполняется, так как функция прекращает свою работу...
Python. Наследование класса
Суть Наследование - одна из парадигм объектно-ориентированного программирования. Родитель - класс, от которого наследуется новый класс Потомок - новый класс, который наследует от родителя При создании нового класса, мы можем написать его с нуля, либо же использовать уже существующий как основу. При втором варианте, новый класс будет дополнять свойства родителя и иметь доступ к его методам и полям. Зачем? Концепция наследования позволяет создавать измененные объекты относительно класса родителя. Так экономится время на разработку и упрощается процесс написания программы...
Почему я считаю Python крутым языком программирования?
Легко начать На Python-е очень легко начать писать с нуля. Вспомните ваш первый опыт на Cи подобных языках: открываете компилятор, файл main - а в нём какая-то функция main, какие-то аргументы передаются в неё. Какой-то return. Глаза разбегаются. Новичку очень сложно в этом разобраться, тем более он это не использует, так как ограничен в области, куда может писать команды. А что же происходит в то же время у начинающего Питониста? Он открывает пустой файл и пишет код. Ему даже компилировать не надо,...
Python. Генераторы
Генератор - это функция, вызов которой возвращает следующий объект согласно алгоритму. В отличии от итераторов, для генератора нужно написать лишь функцию, без использования классов. Напишем функцию-генератор: Он также будет генерировать рандомные числа от 0 до 1 k раз. Ключевое слово yield говорит о том, что функция является генератором и используется вместо return. Также стоит отметить, что yield позволяет исполнение кода после своего исполнения, в отличии от return, который останавливает выполнение функции...
Python. Итераторы
Как работают Итераторы Любая последовательность, такая как list, dict, sets, является итерируемой. То есть мы можем делать прогон по элементам. Например с помощью цикла For: Но как это работает? Для итерируемых последовательностей существует метод iter(), который позволяет получить итератор. А итератор в свою очередь имеет метод next() позволяющий получить следующий элемент. Попробуем проитерировать список "руками". Для этого создадим итератор, который принимает в себя последовательность и выведем...
Python. Как создать собственное исключение?
Как мы помним: исключения - это код, который выполняется когда происходит ошибка. И названия исключений прописаны в документации. Но можно писать и собственные исключения. Допустим мы хотим, чтобы list позволял добавить только четные числа. Для начала требуется написать класс исключения. Напишем, например, по смыслу - NonEvenError. NonEvenError будет бросаться при попытке добавить в list нечётное число: Он унаследован от класса Exception и больше ничего от него не требуется, поэтому стоит заглушка - pass...