Чтобы получить максимум пользы от книги, рекомендую некоторые приемы когнитивного обучения, которые повысят эффективность усвоения материала.
• Используйте графические схемы связей для установления соответствия между различными концепциями и их быстрой реализации в ваших проектах. Графические схемы связей с помощью наглядного представления на тривиальных диаграммах позволяют запомнить большой объем данных.
• Используйте мнемонические приемы (такие как «дворец памяти» или «метод локусов») для осмысленного запоминания данных. Примитивная зубрежка очень сильно отличается от запоминания только необходимой информации с применением когнитивных методов.
• Используйте метод пассивного повторения для быстрого возвращения ко всем темам, которые вы узнаете из книги. Пассивное повторение поможет закрепить основы.
• Используйте метод Фейнмана и объясните все базовые концепции программирования, о которых вы узнаете в книге, кому-то, кто не разбирается в теме. Если вы сможете объяснить концепцию простыми словами, значит, вы достаточно хорошо усвоили основные положения.
• Не ограничивайтесь использованием кода, приведенного в книге. Реализуйте собственный код с использованием аналогичных стратегий. Простое копирование не научит вас создавать собственный код.
Используйте разделители при выводе элементов. • Напишите программу для преобразования фунтов в килограммы с использованием циклов for и while. • Напишите на Python генератор случайных чисел в диапазоне от 1000 до 10 000. • Используйте циклы для вывода по крайней мере пяти узоров ранголи, используя буквы алфавита. • Напишите программу для вычисления последовательности Фибоначчи с использованием команды continue. • Используя циклы, напишите программу, которая может переводить суммы в долларах США в евро и фунты. • Напишите программу для проверки вводимых учетных данных с паролем. Убедитесь в том, что при проверке соблюдаются
Как создаются классы и объекты с методами Напишем код по типичной схеме, которая применяется разработчиками для создания методов и вызова их с использованием объектов.
Что такое объектно-ориентированное программирование Объектно-ориентированное программирование (ООП) — популярная парадигма программирования, для которого характерна логическая группировка функций, определяемых в программе, по классам и объектам.
Класс состоит из набора полей данных и методов, к которым программист может легко обращаться через нотацию с точкой. Объекты позволяют переменным и методам за пределами класса работать с этим классом.
Пример использования Допустим, вы создаете приложение, которое выводит информацию о разных видах транспорта и их моделях.
В процедурном программировании разработчик создал бы функцию для каждого вида транспорта, а затем для каждой модели. При небольшом количестве моделей такое решение кажется простым, но с ростом их числа повторное использование кода усложняется.
В объектно-ориентированном программировании разработчик сначала создает класс Vehicle, представляющий транспортное средство, и определяет различные свойства и значения. Затем разработчик определяет отдельный класс для каждого типа транспортного средства. Вместо того чтобы снова создавать функции для каждого свойства, разработчик может обращаться к этим свойствам через нотацию с точкой — такую возможность ему предоставляет парадигма объектно-ориентированного программирования.
ООП экономит много времени и позволяет организовать повторное использование кода с помощью таких механизмов, как полиморфизм и наследование.
Как создать класс в Python Классы, по сути, представляют собой «чертежи», на основании которых создаются объекты. Классы содержат такие логические сущности, как атрибуты и методы.
При создании класса необходимо знать некоторые правила.
• Все классы, определяемые в программе, должны помечаться ключевым словом class.
• Переменные, создаваемые внутри класса, представляют собой атрибуты класса.
• Все атрибуты класса являются общедоступными, и к ним всегда можно обратиться при помощи оператора . (точка).
Синтаксис создания класса:
class ИмяКласса:
# Команды класса
Программный код:
# Демонстрация создания классов
class Country:
# Команды класса
ПРИМЕЧАНИЕ
Зарезервированные ключевые слова не могут использоваться в качестве имен классов в Python. Если вы попытаетесь это сделать, будет выведено сообщение об ошибке и программа завершит работу.
Как создаются объекты Объект в программировании на языке Python представляет собой сущность, с которой связывается состояние и поведение. Все, что находится внутри класса, можно считать объектом. Например, переменная, созданная внутри класса, может использоваться как объект. Программисты часто пользуются объектами, даже не подозревая об этом.
Что содержат объекты • Каждый объект обладает состоянием. Состояние обычно отражает значения свойств, связанных с объектом.
• Каждый объект обладает поведением. Поведение объекта изменяется в соответствии с методом, в котором он используется.
• Все объекты обладают идентичностью (то есть идентификационными характеристиками), которая позволяет им взаимодействовать с другими объектами.
Допустим, существует класс Dog, который описывает разные породы собак и их поведение. Этот класс может представлять объекты разных видов.
• Кличку собаки можно использовать для идентификации объекта.
• Такие атрибуты, как порода, возраст и цвет шерсти, могут быть отнесены к состоянию объекта.
• Разные виды поведения, присущие собакам, — лай, сон, бег — можно отнести к поведению объекта.
Пример создания объекта Чтобы создать объект, достаточно указать его имя и класс. Например, если ранее был определен класс Dog, можно использовать следующий код.
Программный код:
obj = Dog()
Эта команда создает объект с именем obj, принадлежащий классу Dog.
Параметр self Программисты Python должны знать о существовании параметра self, который используется для ссылки на экземпляр класса.
Параметр self имеет много общего с указателями this, используемыми в высокоуровневых языках программирования, таких как C и С++, однако, в отличие от
Метод __init__ Метод __init__ можно считать аналогом конструкторов в C++ и Java. Каждый раз, когда в программе создается объект класса, этот метод выполняется по умолчанию. Таким образом, если вы хотите создать объект, инициализированный конкретным значением, это значение необходимо передать методу __init__.
Создадим программу Python с использованием метода ___init__.
Упражнения • Напишите программу Python, которая генерирует десять случайных чисел, а потом автоматически находит наибольшее из них. Используйте метод max() для решения задачи.
• Создайте список, переставьте все элементы в обратном порядке и последовательно просуммируйте их.
• Напишите программу Python, которая принимает на вход десять строк и переставляет их символы в обратном порядке.
• Напишите рекурсивную функцию для вычисления факториала 100.
• Создайте текст из трех страниц и потренируйтесь на нем в использовании строковых операций. Строки должны быть в том же виде, в котором они обычно представляются на бумаге. Постарайтесь использовать как можно больше разных методов.
• Напишите программу Python для построения последовательности рядов значений, образующих треугольник Паскаля.
• Напишите программу Python, которая автоматически загружает из «Википедии» статью, указанную