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



Pdf көрінісі
бет53/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   49   50   51   52   53   54   55   56   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

4-14 . Просмотрите исходное руководство по стилю PEP 8 по адресу https://python .org/dev/

peps/pep-0008/ . Пока вы будете пользоваться им относительно редко, но просмотреть его 

будет интересно .

4-15 . Анализ кода: выберите три программы, написанные в этой главе, и измените каждую 

в соответствии с рекомендациями PEP 8 .

•  Используйте  четыре  пробела  для  каждого  уровня  отступов .  Настройте  текстовый 

редактор  так,  чтобы  он  вставлял  четыре  пробела  при  каждом  нажатии  клавиши 

табуляции, если это не было сделано ранее (за инструкциями обращайтесь к при-

ложению Б) .

•  Используйте менее 80 символов в каждой строке . Настройте редактор так, чтобы он 

отображал вертикальную черту в позиции 80-го символа .

•  Не злоупотребляйте пустыми строками в файлах программ .



82    Глава 4  •  Работа со списками

Итоги


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

как работать со списком в цикле 

for

, как Python использует отступы для опреде-



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

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

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

срез списка для работы с подмножеством элементов и как правильно копировать 

списки с использованием среза. Глава завершается описанием кортежей, до опре-

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

и рекомендациями по стилевому оформлению вашего кода (сложность которого со 

временем только возрастает) для упрощения его чтения.

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

if



Вы научитесь группировать относительно сложные наборы проверок для обработ-

ки именно той ситуации или информации, которая вам нужна. Также в этой главе 

будет рассматриваться использование команд 

if

 при переборе элементов списка 



для выполнения действий с элементами, выбранными по некоторому условию.


5

Команды if

Программисту часто приходится проверять наборы условий и принимать решения 

в зависимости от этих условий. Команда 

if

 в языке Python позволяет проверить 



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

от результатов проверки.

В этой главе вы научитесь писать условные проверки для любых интересующих 

вас условий. Мы начнем с простых команд 

if

, а затем перейдем к более сложным 



сериям команд 

if

 для проверки комбинированных условий. Затем эта концепция 



будет применена к спискам; вы узнаете, как написать цикл, который выполняет 

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

элементов с конкретными значениями применяется особая обработка.

Простой пример

Следующий короткий пример показывает, как правильно организовать обработ-

ку специальных ситуаций с использованием 

if

. Допустим, у вас имеется список 



машин, и вы хотите вывести название каждой машины. Названия большинства 

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

остальные в нижнем). С другой стороны, значение 

'bmw'


 должно записываться 

в верхнем регистре. Следующий код перебирает список названий машин и ищет 

в нем значение 

'bmw'


. Для всех элементов, содержащих значение 

'bmw'


, значение 

выводится в верхнем регистре:



cars.py

cars = ['audi', 'bmw', 'subaru', 'toyota']

for car in cars:

    if car == 'bmw':



        print(car.upper())

    else:

        print(car.title())

Цикл в этом примере  сначала проверяет, содержит ли 

car

 значение 



'bmw'

. Если 


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

гистре. Если 

car

 содержит все что угодно, кроме 



'bmw'

, то при выводе значения 

применяется капитализация:

Audi


BMW


84    Глава 5  •  Команды if

Subaru


Toyota

В этом примере объединяются несколько концепций, о которых вы узнаете в этой 

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

условий в программах.

Проверка условий

В каждой команде 

if

 центральное место занимает выражение, результатом которо-



го является логическая истина (

True


) или логическая ложь (False); это выражение 

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

ли выполняться код в команде 

if

. Если результат условия равен 



True

, то Python 

выполняет код, следующий за командой 

if

.



Проверка равенства

Во многих условиях текущее значение переменной сравнивается с конкретным 

значением, интересующим вас. Простейшее условие проверяет, равно ли значение 

переменной конкретной величине:

>>> car = 'bmw'



>>> car == 'bmw'

True 

В строке  переменной 



car

 присваивается значение 

'bmw'

; операция выполняется 



одним знаком 

=

, как вы уже неоднократно видели. Строка  проверяет, равно ли 



значение 

car


 строке 

'bmw'


; для проверки используется двойной знак равенства (

==

). 



Этот оператор возвращает 

True


, если значения слева и справа от оператора равны; 

если же значения не совпадают, оператор возвращает 

False

. В нашем примере 



значения совпадают, поэтому Python возвращает 

True


.

Если 


car

 принимает любое другое значение вместо 

'bmw'

, проверка возвращает 



False

:



>>> car = 'audi'

>>> car == 'bmw'



False

Одиночный знак равенства выполняет операцию; код  можно прочитать в форме 

«Присвоить 

car


 значение 

'audi'


». С другой стороны, двойной знак равенства, как 

в строке , задает вопрос: «Значение 

car

 равно 


'bmw'

?» Такое применение знаков 

равенства встречается во многих языках программирования.

Проверка равенства без учета регистра

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

значения с разным регистром символов равными не считаются:




Проверка условий    85

>>> car = 'Audi'

>>> car == 'audi'

False


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

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

переменной к нижнему регистру перед выполнением сравнения:

>>> car = 'Audi'

>>> car.lower() == 'audi'

True


Условие возвращает 

True


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

'Audi'


, потому что 

проверка теперь выполняется без учета регистра. Функция 

lower()

 не изменяет 

значения, которое изначально хранилось в 

car


, так что сравнение не отражается 

на исходной переменной:

>>> car = 'Audi'



>>> car.lower() == 'audi'

True



>>> car



'Audi'

В точке  строка 

'Audi'

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



car

. В точке  значение 

car

 

приводится к нижнему регистру и сравнивается со значением строки 



'audi'

, также 


записанным в нижнем регистре. Две строки совпадают, поэтому Python возвращает 

True


. Вывод в точке  показывает, что значение, хранящееся в 

car


, не изменилось 

в результате проверки.

Веб-сайты устанавливают определенные правила для данных, вводимых пользова-

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

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

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

Когда кто-то указывает новое имя пользователя, это имя преобразуется к нижнему 

регистру и сравнивается с версиями всех существующих имен в нижнем регистре. 

Во время такой проверки имя 

'John'


 будет отклонено, если в системе уже исполь-

зуется любая разновидность 

'john'

.

Проверка неравенства



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

из восклицательного знака и знака равенства (

!=

). Восклицательный знак пред-



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

Для знакомства с оператором неравенства мы воспользуемся другой командой 

if



В переменной хранится заказанное дополнение к пицце; если клиент не заказал 



анчоусы (anchovies), программа выводит сообщение:



Достарыңызбен бөлісу:
1   ...   49   50   51   52   53   54   55   56   ...   238




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

    Басты бет