Книга «Изучаем Python»



Pdf көрінісі
бет33/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   29   30   31   32   33   34   35   36   ...   238
ПРИМЕЧАНИЕ

Как  лучше  всего  освоить  новые  концепции  программирования?  Попытайтесь  использовать  их 

в своей программе . Если в ходе работы над упражнением вы зайдете в тупик, попробуйте на какое-

то время заняться чем-нибудь другим . Если это не поможет, перечитайте соответствующую часть 

этой главы . Если и это не помогло, обращайтесь к рекомендациям из приложения В .

УПРАЖНЕНИЯ

Напишите отдельную программу для выполнения каждого из следующих упражнений . Со-

храните  каждую  программу  в  файле,  имя  которого  подчиняется  стандартным  правилам 

Python по использованию строчных букв и символов подчеркивания – например, simple_

message .py и simple_messages .py .

2-1 . Простое сообщение: сохраните текстовое сообщение в переменной и выведите его на 

экран .

2-2 . Простые сообщения: сохраните сообщение в переменной и выведите это сообщение . 

Затем замените значение переменной другим сообщением и выведите новое сообщение .

Строки


Так как многие программы определяют и собирают некие данные, а затем делают 

с ними что-то полезное, желательно выделить основные разновидности данных. 

Начнем со строковых данных. На первый взгляд строки достаточно просты, но 

с ними можно работать многими разными способами.



Строка представляет собой простую последовательность символов. Любая по-

следовательность символов, заключенная в кавычки, в Python считается строкой; 

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

"This is a string."

'This is also a string.'



36    Глава 2  •  Переменные и простые типы данных

Это правило позволяет использовать внутренние кавычки и апострофы в строках:

'I told my friend, "Python is my favorite language!"'

"The language 'Python' is named after Monty Python, not the snake."

"One of Python's strengths is its diverse and supportive community."

Рассмотрим некоторые типичные операции со строками.

Изменение регистра символов в строках

Одна из простейших операций, выполняемых со строками, – изменение регистра 

символов. Взгляните на следующий фрагмент кода и попробуйте определить, что 

в нем происходит:



name.py

name = "ada lovelace"

print(name.title())

Сохраните файл с именем 

name .py

 и запустите его. Вывод программы должен вы-

глядеть так:

Ada Lovelace

В этом примере в переменной 

name


 сохраняется строка, состоящая из букв нижнего 

регистра 

"ada

 

lovelace"



. За именем переменной в команде 

print()


 следует вызов 

метода 


title()

Метод представляет собой действие, которое Python выполняет 

с данными. Точка (

.

) после 



name

 в конструкции 

name.title()

 приказывает Python 

применить метод 

title()


 к переменной 

name


. За именем метода всегда следует пара 

круглых скобок, потому что методам для выполнения их работы часто требуется 

дополнительная информация. Эта информация указывается в скобках. Функции 

title()


 дополнительная информация не нужна, поэтому в круглых скобках ничего 

нет.


Метод 

title()


 преобразует первый символ каждого слова в строке к верхнему 

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

мер, данная возможность может быть полезна, если в вашей программе входные 

значения 

Ada



ADA



 и 

ada


 должны рассматриваться как одно и то же имя, и все они 

должны отображаться в виде 

Ada

.

Для работы с регистром также существуют другие полезные методы. Например, все 



символы строки можно преобразовать к верхнему или нижнему регистру:

name = "Ada Lovelace"

print(name.upper())

print(name.lower())

Программа выводит следующий результат:

ADA LOVELACE

ada lovelace

Метод 


lower()

 особенно полезен для хранения данных. Нередко программист 

не может рассчитывать на то, что пользователи введут все данные с точным со-



Строки    37

блюдением регистра, поэтому строки перед сохранением преобразуются к нижнему 

регистру. Затем, когда потребуется вывести информацию, используется регистр, 

наиболее подходящий для каждой строки.

Конкатенация

Также часто возникает необходимость в объединении строк. Представьте, что имя 

и фамилия хранятся в разных переменных и вы хотите объединить их для вывода 

полного имени:

first_name = "ada"

last_name = "lovelace"

full_name = first_name + " " + last_name



print(full_name)

Для объединения строк в Python используется знак «плюс» (

+

). В приве-



денном примере полное имя строится объединением 

first_name

, пробел 

и 

last_name



 :

ada lovelace

Такой способ объединения строк называется конкатенацией. Вы можете исполь-

зовать конкатенацию для построения сложных сообщений с информацией, храня-

щейся в переменных. Рассмотрим пример:

first_name = "ada"

last_name = "lovelace"

full_name = first_name + " " + last_name

print("Hello, " + full_name.title() + "!")



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

а метод 


title()

 обеспечивает правильное форматирование имени. Этот фрагмент 

возвращает простое, хорошо отформатированное сообщение:

Hello, Ada Lovelace!

Конкатенацией также можно воспользоваться для построения сообщения, которое 

затем сохраняется в переменной:

first_name = "ada"

last_name = "lovelace"

full_name = first_name + " " + last_name

message = "Hello, " + full_name.title() + "!"



  print(message)

Этот код также выводит сообщение “Hello, Ada Lovelace!”, но сохранение тек-

ста сообщения в переменной  существенно упрощает завершающую команду 

 печати .



38    Глава 2  •  Переменные и простые типы данных

Табуляции и разрывы строк

В программировании термином «пропуск» (whitespace) называются такие непе-

чатаемые символы, как пробелы, табуляции и символы конца строки. Пропуски 

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

Для включения в текст позиции табуляции используется комбинация символов 

\t

, как в точке :



>>> print("Python")

Python


>>> print("\tPython")

    Python 

Разрывы строк добавляются с помощью комбинации символов 

\n

:

>>> print("Languages:\nPython\nC\nJavaScript")



Languages:

Python


C

JavaScript

Табуляции и разрывы строк могут сочетаться в тексте. Скажем, последователь-

ность 


"\n\t"

 приказывает Python начать текст с новой строки, в начале которой 

располагается табуляция.

Следующий  пример  демонстрирует  вывод  одного  сообщения  с  разбиением 

на  четыре строки:

>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")

Languages: 

    Python 

    C 

    JavaScript 



Разрывы строк и табуляции часто встречаются в двух следующих главах, когда 

наши программы начнут выводить относительно длинный текст.

Удаление пропусков

Лишние пропуски могут вызвать путаницу в программах. Для программиста стро-

ки 

'python'


 и 

'python


 

'

 внешне неотличимы, но для программы это совершенно 



разные строки. Python видит лишний пробел в 

'python


 

'

 и считает, что он действи-



тельно важен — до тех пор, пока вы не сообщите о противоположном.

Обращайте внимание на пропуски, потому что в программах часто приходится 

сравнивать строки, чтобы проверить на совпадение их содержимое. Типичный при-

мер — проверка имен пользователей при входе на сайт. Лишние пропуски могут 

создавать путаницу и в более простых ситуациях. К счастью, Python позволяет 

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

Python может искать лишние пропуски у левого и правого края строки. Чтобы 

убедиться в том, что у правого края (в конце) строки нет пропусков, вызовите 

метод 

rstrip()


.


Строки    39

  >>> favorite_language = 'python '



>>> favorite_language

'python ' 

>>> favorite_language.rstrip()



'python'

>>> favorite_language



'python '

Значение, хранящееся в переменной 

favorite_language

 в точке , содержит лиш-

ние пропуски в конце строки. Когда вы приказываете Python вывести это значе-

ние в терминальном сеансе, вы видите пробел в конце значения . Когда метод 

rstrip()

 работает с переменной 

favorite_language

 в точке , этот лишний пробел 

удаляется. Впрочем, удаление лишь временное: если снова запросить значение 

favorite_language

, мы видим, что строка не отличается от исходной, включая 

лишний пропуск .

Чтобы навсегда исключить пропуск из строки, следует записать усеченное значение 

обратно в переменную:

>>> favorite_language = 'python '

  >>> favorite_language = favorite_language.rstrip()



>>> favorite_language

'python' 

Сначала пропуски удаляются в конце строки, а потом значение записывается в ис-

ходную переменную . Операция изменения значения переменной с последующим 

его сохранением в исходной переменной часто выполняется в программировании. 

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

в ответ на действия пользователя.

Пропуски также можно удалить у левого края (в начале) строки при помощи ме-

тода 

lstrip()


, а метод 

strip()


 удаляет пропуски с обоих концов:

>>> favorite_language = ' python '



>>> favorite_language.rstrip()

' python'

>>> favorite_language.lstrip()



'python '

  >>> favorite_language.strip()



'python'

В этом примере исходное значение содержит пропуски в начале и в конце . Затем 

пропуски удаляются у правого края , у левого края  и с обоих концов строки . 

Поэкспериментируйте с функциями удаления пропусков, это поможет вам осво-

иться с работой со строками. На практике эти функции чаще всего применяются 

для «очистки» пользовательского ввода перед его сохранением в программе.

Предотвращение синтаксических ошибок в строках

Синтаксические ошибки встречаются в программах более или менее регулярно. 





Достарыңызбен бөлісу:
1   ...   29   30   31   32   33   34   35   36   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет