Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

§2.4. Имена переменных и ключевые слова

Как заметил Фредерик Брукс (Frederick P. Brooks, Jr)5, самое захватывающее в профессии программиста то, что он работает с идеей в чистом виде: он записывает абстрактные идеи с помощью формальных языков, чтобы те облегчали труд другим людям. Для преобразования абстрактной, непроявленной в материальном мире идеи в код программы необходимо выделить сущности и действия, придумать им названия, чтобы ими управлять, проследить связи между ними и их свойствами. Вы, наверное, догадались, что именами сущностей, с которыми работает программист, служат переменные. Поэтому стоит выбирать осмысленные названия переменных.

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

При составлении имен переменных в Питоне можно использовать любые латинские буквы, цифры и знак _ (знак подчеркивания). Знак подчеркивания может использоваться для

5 Фредерик Брукс (Frederick P. Brooks, Jr) руководил знаменитым проектом IBM OS/360; его перу

принадлежит принцип No Silver Bullet (NSB - «Серебрянной пули нет», в смысле универсального средства борьбы с проектами- «монстрами»). Речь идет о его книге «Мифический человеко-месяц, или как создаются программные системы».

26

Ревизия: 170 Переменные, операции и выражения

разделения слов составляющих имя переменной: например, user_name или full_price. Но названия переменных не могут начинаться с цифры.

>» Imessage

= "Hello

world!"

File "<stdin>", line

1

Imessage

= "Hello

world!"

SyntaxError:

invalid s

yntax

>» price in

_$ = 300

File "<stdin>", line

1

price in

_$ = 300

SyntaxError:

invalid s

yntax

>» class =

'Computer

Science

101"

File "<stdin>", line

1

class =

'Computer

Science

101"

SyntaxError:

invalid s

yntax

Разберем эти три примера. Первое же выражение интерпретатору не понравилось, и он отметил знаком Л, где именно у него возникли претензии: он указал на имя переменной Imessage. Действительно, имя Imessage является некорректным, ведь оно начинается с цифры. Аналогичная ситуация с именем price_in_$: оно содержит недопустимый символ $. Но что интерпретатору не нравится в третьем выражении? Давайте попробуем изменить имя переменной class на что-нибудь похожее, например, class_:

>» class = "Computer

Science

101"

>» print class

Computer Science 101

Теперь все в порядке. В чем же дело? Почему имя class вызвало ошибку, а имя class_ - нет? Какие есть предположения? Поставим еще один эксперимент:

>» print =

"Some

message"

File "<stdin>",

line 1

print =

"Some

message"

SyntaxError

inva

Lid syntax

Знакомая ситуация, не так ли? Проанализируем то, что мы получили. В качестве имени переменной мы пытались использовать команду print и получили аналогичную ошибку, значит слово class, скорее всего, тоже является командой или каким-то служебным словом.

Действительно, слова class и print являются так называемыми ключевыми словами. Всего в Питоне версии 2.3. зарезервировано 29 ключевых слов:

27

Ревизия: 170

Переменные, операции и выражения

and

del

for

is

raise

assert

elif

from

lambda

return

break

else

global

not

try

class

except

if

or

while

continue

exec

import

pass

yield

def

finally

in

print

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

Имейте также ввиду, что интерпретатор различает большие и маленькие буквы, т.е. message и Message будут разными переменными.

Упражнение. Напишите программу, которая подтверждает, что интерпретатор Питона различает строчные и заглавные буквы в именах переменных.