Замечание для опытных программистов
Нет отдельного типа ‘long int’ (длинное целое). Целые числа по умолчанию могут быть
произвольной длины.
7.4 Строки
Строка – этопоследовательность символов. Чаще всего строки – это просто некоторые наборы слов.
Слова могут быть как на английском языке, так и на любом другом, поддерживаемом
стандартом Unicode, что означает почти на любом языке мира.
Замечание для опытных программистов
В Python 3 нет ASCII-строк, потому что Unicode является надмножеством (включает в
себя) ASCII. Если необходимо получить строку строго в кодировке ASCII, используйте
str.encode(ascii). Подробнее смотрите в обсуждении этого вопроса на StackOverflow.
По умолчанию все строки в Unicode.
Я могу с уверенностью сказать, что вы будете использовать строки почти в каждой ва-
шей программе на Python. Поэтому уделите внимание тому, как работать со строками в
Python.
1 “literal” – англ. «буквальный»; вспомните «литера» (син. «буква»). (прим. перев.)
7.4.1 Одинарные кавычки
Строку можно указать, используя одинарные кавычки, как например, ‘Фраза в кавыч-
ках’. Все пробелы и знаки табуляции сохранятся, как есть.
7.4.2 Двойные кавычки
Строки в двойных кавычках работают точно так же, как и в одинарных. Например,
What’s your name?.
7.4.3 Тройные кавычки
Можно указывать «многострочные» строки с использованием тройных кавычек ( или
»’). В пределах тройных кавычек можно свободно использовать двойные или тройные
кавычки. Например:
»’Это многострочная строка. Это её первая строка.
Это её вторая строка.
What’s your name?, — спросил я.
Он ответил: Bond, James Bond.
»’
7.4.4 Строки неизменяемы
Это означает, что после создания строки её больше нельзя изменять. На первый взгляд
это может показаться недостатком, но на самом деле это не так. В последствии на примере
разных программ мы увидим, почему это не является ограничением.
7.4.5 Объединение строковых констант
Если расположить рядом две строковых константы, Python автоматически их объеди-
нит. Например, ‘What\’s ‘ ‘your name?’ автоматически преобразуется в What’s your
name?.
Замечание для программистов на C/C++
В Python нет отдельного типа данных char (символ). В нём нет нужды, и я уверен, что вы
не будете по нему скучать.
7.4.6 Метод format
Иногда бывает нужно составить строку на основе каких-либо данных. Вот здесь-то и при-
гождается метод format().
Сохраните следующие строки в файл str_format.py:
age = 26
name = ‘Swaroop’
print(‘Возраст {0} — {1} лет.’.format(name, age))
print(‘Почему {0} забавляется с этим Python?’.format(name))
Вывод:
$ python str_format.py
Возраст Swaroop — 26 лет.
Почему Swaroop забавляется с этим Python?
Как это работает:
В строку могут быть включены определённые обозначения, а впоследствии может быть вызван метод format для замещения этих обозначений соответствующими аргументами.
Взгляните на первый случай применения обозначений, где мы пишем {0}, и это соответствует переменной name, являющейся первым аргументом метода format. Аналогично, второе обозначение {1} соответствует переменной age, являющейся вторым аргументом метода format. Заметьте, что Python начинает отсчёт с 0, поэтому первая позиция – номер 0, вторая – номер 1 и т.д.
Заметьте, мы ведь могли добиться того же самого результата и объединением строк: ‘Возраст’ + name + ‘ — ‘ + str(age) + ‘ лет.’, однако вы сами видите, как это некрасиво, и как легко в таком случае допустить ошибку. Во- вторых, преобразование в строку делается методом format автоматически, в отличие от явного преобразования в нашем примере. В-третьих, используя метод format, мы можем изменить сообщение, не затрагивая используемых переменных, и наоборот.
На всякий случай имейте в виду, что цифры здесь не обязательны. Можно было бы просто написать:
age = 26
name = ‘Swaroop’
print(‘Возраст {} — {} лет.’.format(name, age))
print(‘Почему {} забавляется с этим Python?’.format(name))
и получить такой же результат, как и ранее.
В методе format Python помещает значение каждого аргумента в обозначенное место. Могут быть и более детальные обозначения, как то:
# десятичное число (.) с точностью в 3 знака для плавающих:
… ‘{0:.3}’.format(1/3)
‘0.333’
# заполнить подчёркиваниями (_) с центровкой текста (^) по ширине 11:
… ‘{0:_^11}’.format(‘hello’)
‘___hello___’
# по ключевым словам:
… ‘{name} написал {book}’.format(name=’Swaroop’, book=’A Byte of Python’)
‘Swaroop написал A Byte of Python’
Детально такие обозначения форматов описаны в Предложении по расширению Python
PEP 3101.
7.5 Переменные
Использование одних лишь литеральных констант может скоро наскучить – нам ведь
нужен способ хранения любой информации и манипулирования ею. Вот здесь на сце-
ну выходятпеременные. Слово «переменные» говорит само за себя – их значение может
меняться, а значит, вы можете хранить в переменной всё, что угодно. Переменные – это
просто области памяти компьютера, в которых вы храните некоторую информацию. В
отличие от констант, к такой информации нужно каким-то образом получать доступ,
поэтому переменным даются имена.
7.6 Имена идентификаторов
Переменные – это частный случай идентификаторов. Идентификаторы – это имена, при- своенные чему-то для его обозначения. При выборе имён для идентификаторов необходимо соблюдать следующие правила:
• Первым символом идентификатора должна быть буква из алфавита (символ ASCII в верхнем или нижнем регистре, или символ Unicode), а также символ подчёркивания (“_”).
• Остальная часть идентификатора может состоять из букв (символы ASCII в верхнем или нижнем регистре, а также символы Unicode), знаков подчёркивания (“_”) или цифр (0-9).
• Имена идентификаторов чувствительны к регистру. Например, myname и myName – это не одно и то же. Обратите внимание на “n” в нижнем регистре в первом случае и “N” в верхнем во втором.
• Примеры допустимых имён идентификаторов: i, __my_name, name_23, a1b2_c3 и любые_символы_utf8_???ђёўЩ????.
• Примеры недопустимых имён идентификаторов: 2things, здесь есть пробелы, my-name, a1b2_c3 и идентификатор_в_кавычках.
7.7 Типы данных
Переменные могут хранить значения разных типов, называемых типами данных. Основными типами являются числа и строки, о которых мы уже говорили. В дальнейших главах мы увидим, как создавать свои собственные типы при помощи классов.
7.8 Объекты
Помните, Python рассматривает всё, что есть в программе, как объекты. Имеется в виду, в самом общем смысле. Вместо того, чтобы говорить “нечто”, мы говорим “объект”.
Статьи к прочтению:
- Замечание для программистов на статических языках программирования
- Замечания руководителя практики от организации
20 СМЕШНЫХ ЗАМЕЧАНИЙ В ШКОЛЬНЫХ ДНЕВНИКАХ! часть 2
Похожие статьи:
-
Замечание для программистов на статических языках программирования
Переменные используются простым присваиванием им значений. Никакого предварительного объявления или определения типа данных не требуется/применяется. 7.9…
-
Использование кавычек для отмены значения символа пробел
Кавычки, как и обратная косая черта, часто используются для отмены специального значения пробела. Shell интерпретирует пробел в командной строке как…