10 октября 2012 г.

Инструкция if, углубляемся



Условная инструкция if 
и синтаксические правила

Если говорить простым языком, в Python инструкция if выбирает, какое действие следует выполнить. Это основной инструмент выбора в Python, который отражает большую часть логики программы на языке Python. Кроме того, это наша первая  составная инструкция. Как и все составные инструкции языка Python, инструкция if может содержать другие инструкции, в том числе другие условные инструкции if.

Общая форма:

Синтаксически сначала записывается часть if с условным выражением, далее  могут  следовать одна  или более  необязательных  частей  elif  («else  if») с условными выражениями и, наконец, необязательная часть else.





if <test1>:            # Инструкция if с условным выражением test1
    <statements1>      # Ассоциированный блок
elif <test2>:          # Необязательные части elif
    <statements2>
else:                  # Необязательный блок else
    <statements3>
-------------------------------------------------------------

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

>>> if 1:
...     print ‘true’
...
true
-------------------------------------------------------------


Чтобы обработать ложный результат, добавьте часть else:


>>> if not 1:
...     print ‘true’
... else:
...     print ‘false’
...
false
--------------------------------------------------------------


Множественное ветвление:
Теперь рассмотрим пример более сложной условной инструкции if, в которой присутствуют все необязательные части:
>>> x = ‘killer rabbit’
>>> if x == ‘roger’:
...     print “how’s jessica?”
... elif x == ‘bugs’:
...    print “what’s up doc?”
... else:
...    print ‘Run away! Run away!’
...
Run away! Run away!
---------------------------------------------------------------

if и словари:
Инициализация словаря:

>>> choice = ‘ham’
>>> print {‘spam’: 1.25,   # Инструкция ‘switch’ на базе словаря
...        ‘ham’: 1.99,    # Используйте has_key или get для 
...        ‘eggs’: 0.99,   # значения по умолчанию
...        ‘bacon’: 1.10}[choice]
1.99


Ветвление:
>>> if choice == ‘spam’:
...     print 1.25
... elif choice == ‘ham’:
...     print 1.99
... elif choice == ‘eggs’:
...     print 0.99
... elif choice == ‘bacon’:
...     print 1.10
... else:
...     print ‘Bad choice’
...
1.99
----------------------------------------------------------------

Ниже приводится  пример  с  использование метода  get  для  получения  значения  по умолчанию:
>>> branch = {‘spam’: 1.25,
...           ‘ham’: 1.99,
...           ‘eggs’: 0.99}
>>> print branch.get(‘spam’, ‘Bad choice’)
1.25
>>> print branch.get(‘bacon’, ‘Bad choice’)
Bad choice

Аналогично с инструкцией in:

>>> choice = ‘bacon’
>>> if choice in branch:
...     print(branch[choice])
... else:
...     print(‘Bad choice’)
...
Bad choice
----------------------------------------------------------------

Проверка истинности:
X and Y
Истина, если оба значения X и Y истинны.
X or Y
Истина, если любое из значений X или Y истинно.
not X
Истина, значение X ложно (выражение возвращает значение True или False)

Комментариев нет:

Отправить комментарий