How to Think Like a Computer Scientist: Learning with Python 2nd Edition. / Как стать программистом: учимся вместе с Python. Второе издание.: Chapter 2 Variables, expressions, and statements

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

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

czech 25.06.10 в 08:48

0

2.1 Значения и типы данных

czech 25.06.10 в 08:49

0

Значение является одним из основополагающих принципов языка, наподобие букв или чисел. Значением является число 2 (как результат вычисления 1 + 1) и строка "Hello, World!"

czech 25.06.10 в 09:07

0

Эти значения принадлежат к разным типам: 2 - целое число, а "Hello, World!" - строка. Вы или интерпретатор можете легко распознать строку, так как она заключена в кавычки.

czech 25.06.10 в 09:08

0

Выражение print так же работает и с целыми числами:

czech 25.06.10 в 09:09

0

>>> print 4
4

czech 25.06.10 в 09:09

0

Если вы не уверены, к какому типу принадлежит значение, интерпретатор подскажет.

czech 25.06.10 в 09:10

0

>>> type("Hello, World!")
<type 'str'>
>>> type(17)
<type 'int'>

czech 25.06.10 в 09:10

0

Не удивительно, что строка получила тип str, a целое число - тип int. Немного странным выглядит то, что дробное число получает тип float. На самом деле float - это сокращение от floating-point (плавающая точка).

czech 25.06.10 в 09:13

0

>>> type(3.2)
<type 'float'>

czech 25.06.10 в 09:16

0

А что насчет значений "17" и "3.2"? Они выглядят как числа, но заключены в кавычки как строки.

czech 25.06.10 в 09:23

0

>>> type("17")
<type 'str'>
>>> type("3.2")
<type 'str'>

czech 25.06.10 в 09:25

0

Это строки.

czech 25.06.10 в 09:26

0

Строки в python могут быть заключены в одиночные или двойные кавычки.

czech 25.06.10 в 09:26

0

>>> type('This is a string.')
<type 'str'>
>>> type("And so is this.")
<type 'str'>

czech 25.06.10 в 09:27

0

Двойные кавычки могут содержать внутри текст с одинарными: "Она сказала: 'Да!' ", и наоборот, одинарные кавычки могут содержать текст с двойными: 'Она сказала: "Да!" '.

czech 25.06.10 в 10:03

0

Когда вы вводите большое целое число, вы можете по привычке разделить разряды запятыми: 1,000,000. Python не поямет вас:

czech 25.06.10 в 10:04

0
+1

>>> print 1,000,000
1 0 0

czech 25.06.10 в 10:04

0

Собственно, это не то, что мы хотели увидеть! Python принял 1,000,000 за список из трех чисел. Так что запомните, никаких запятых в целых числах.

czech 25.06.10 в 10:05

0

2.2 Переменные

czech 25.06.10 в 10:06

0

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

czech 25.06.10 в 10:07

0

Присваивание создает новую переменную и назначает ей значение:

czech 25.06.10 в 10:08

0

>>> message = "What's up, Doc?"
>>> n = 17
>>> pi = 3.14159

czech 25.06.10 в 10:08

0

Этот пример иллюстрирует три присваивания. Первое присваивает строку "What's up, Doc?" переменной message. Второе назначает целое число 17 переменной n, и третье назначает дробное число 3.14159 переменной pi.

czech 25.06.10 в 10:11

0

Оператор присваивания, =, здесь не является эквивалентным знаку равенства (хотя обычно он исползуется в этом качестве). Присваивание создает ссылку с именем слева от оператора на значение, расположенное справа справа от него. Вот почему вы получите ошибку, если напишите:

czech 25.06.10 в 10:16

0

>>> 17 = n

czech 25.06.10 в 10:16

0

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

czech 25.06.10 в 10:19

0

Выражение print также работает с переменными:

czech 25.06.10 в 10:19

0

>>> print message
What's up, Doc?
>>> print n
17
>>> print pi
3.14159

czech 25.06.10 в 10:20

0

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

czech 25.06.10 в 10:21

0

>>> type(message)
<type 'str'>
>>> type(n)
<type 'int'>
>>> type(pi)
<type 'float'>

czech 25.06.10 в 10:24

0

Тип переменной - это тип значения, на которое она ссылается.

czech 25.06.10 в 10:27

0

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

czech 25.06.10 в 10:44

0

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

czech 25.06.10 в 10:45

0
+1

Имена переменных могут быть произвольной длины. Они могут включать как буквы, так числа, но с чисел начинаться не могут. Также можно использовать буквы в верхнем регистре, но не желательно. Если вы все же используете верхний регистр, помните, что синтаксически это имеет значение. Bruce и bruce - это две разные переменные.

czech 25.06.10 в 10:49

0

Символ подчеркивания _ также может присутствовать в имени переменной. Он обычно используется в имени, состоящем из нескольких слов, например, my_name или price_of_tea_in_china.

czech 25.06.10 в 10:50

0

Если вы назовете переменную не правильно, то получите ошибку:

czech 25.06.10 в 10:51

0

>>> 76trombones = "big parade"
SyntaxError: invalid syntax
>>> more$ = 1000000
SyntaxError: invalid syntax
>>> class = "Computer Science 101"
SyntaxError: invalid syntax

czech 25.06.10 в 10:51

0

76trombones - неправильно, потому что имя не должно начинаться с чисел. more$ - неправильно, потому что содержит недопустимый символ $. Но что не так с переменной class?

czech 25.06.10 в 10:52

0

Class - это одно из зарезервированный ключевых слов в python. Ключевые слова определены правилами языка и не могут использоваться в качестве имен переменных.

czech 25.06.10 в 10:54

0

В python есть 31 ключевое слово:

czech 25.06.10 в 10:54

0

and as assert break class continue

czech 25.06.10 в 10:54

0

def del elif else except exec

czech 25.06.10 в 10:54

0

finally for from global if import

czech 25.06.10 в 10:55

0

in is lambda not or pass

czech 25.06.10 в 10:55

0

print raise return try while with

czech 25.06.10 в 10:55

0

yield

czech 25.06.10 в 10:55

0

Можете сохранить этот список; если интерпретатор не примет одно из имен для ваших переменных, загляните в список.

czech 25.06.10 в 10:56

0

2.4 Операции

czech 25.06.10 в 10:57

0

Операции - это инструкции, которые интерпретатор python должен выполнить. Мы уже сталкивались с двумя операциями - print и присваивание.

czech 25.06.10 в 10:59

0
Минутку...

Следующая страница →