Python является языком объектно-ориентированного программирования (ООП). Это означает, что он использует объекты для хранения данных. В python строки также являются объектами, хотя и очень простыми. Строки хранят только одно информационное поле — это их собственное значение. Объекты могут хранить в себе даже другие объекты.
Рассмотрим на примере модели автомобиля. Мы можем описать объект «автомобиль» с большим количеством параметров, называемых в программировании атрибутами. Среди атрибутов будет как простые, например, цвет, марка автомобиля, так и сложные, например, шины, двери, двигатель. Сложные атрибуты автомобиля будут, в свою очередь, целыми объектами со своими собственными атрибутами. Для описания возможностей автомобиля будут применяться методы, такие как «езда» и «парковка». На языке python доступ к методам осуществляется через точку:
1 | car.park() |
За методом следуют круглые скобки, предназначенные для передачи параметров. Например, если мы хотим передвинуть автомобиль на 200 метров, то должны передать это число в соответствующий метод.
1 | car.drive(200) |
У строки также есть методы. Например, метод upper(), которые применяются для создания версии строки, состоящей только из заглавных символов. Также существует противоположный ему по действию метод lower().
1 2 3 | >>> loud_voice = "Can you hear me yet?" >>> print loud_voice.upper() CAN YOU HEAR ME YET? |
Мы создали строку loud_voice и затем вызвали ее метод upper(), вернувший версию строки с заглавными буквами, которую потом print вывел на экран.
Методы являются функциями принадлежащими объектам. Но существуют также встроенные функции, которые конкретным объектам не принадлежат, но всегда являются доступными. Это так назывемые build-in функции. Например, упомянутая в уроках ранее функция type(). Также к ним относится функция len(), показывающая длину объектов разного типа в том числе и строк. Так чтобы узнать длину нашей строки достаточно вызвать:
1 | len(loud_voice) |
Вызов функций через точку «.» показывает, к какому типу объектов он принадлежит.
Давайте добавим больше интерактивного взаимодействия к нашим программам. Чтобы получить от пользователя какие-либо данные удобно использовать функцию raw_input(). Функция принимает строковый параметр, который является приветствием для ввода данных пользователем.
1 2 | user_name = raw_input(“What is your name: ”) print "Hello ", user_name |
При запуске этой программы, вы заметите в окне вывода мигающий курсор, ждущий ответа пользователя. Его ответ будет сохранен в переменную user_name а затем выведен.
Среды разработки могут помочь вам вспомнить точное название функции, которую вы хотите использовать. Для этого нужно в окне ввода кода нажать комбинацию клавиш CTRL+SPACE, вы увидите выпадающий список. По мере ввода вами символов названия список будет сокращаться, когда вы увидите нужную функцию нажмите ENTER, она будет вставлена в строку.
В одном из следующих уроков будет подробно рассмотрен аспект объектно-ориентированного программирования. А в следующем уроке мы вернемся к строкам.