4. Дополнительные инструменты управления потоком

Кроме оператора while, который только что был представлен, Python знает обычные операторы управления потоком, известные из других языков, с некоторыми особенностями.

4.1. Операторы if

Возможно наиболее хорошо известным типом оператора является if. Например:

>>> x = int(input("Пожалуйста, введите число: "))
Пожалуйста, введите число: 42
>>> if x < 0:
...     x = 0
...     print('Отрицательное изменяется на 0')
... elif x == 0:
...     print('Ноль')
... elif x == 1:
...     print('Один')
... else:
...     print('Больше')
...
Больше

3.2. Первые шаги к программированию

Конечно мы можем использовать Python для более сложных задач, чем складывать вместе два и два. Например, мы можем написать начальную часть последовательности ряда Фибоначчи вот так:

>>> # ряд Фибоначчи:
... # сумма двух элементов определяет следующий
... a, b = 0, 1
>>> while b < 10:
...     print(b)
...     a, b = b, a+b
...
1
1
2
3
5
8

Этот пример знакомит с несколькими новыми свойствами.

3.1. Использование Python как калькулятор

Попробуем несколько простых команд Python. Запустите интерпретатор и дождитесь первичного приглашения >>>. (Это не должно занять много времени.)

3.1.1. Числа

Интерпретатор действует как простой калькулятор: вы можете ввести в него выражение и он напишет результат. Синтаксис выражения простой: операторы +, -, * и / работают также как в большинстве других языках (например, Pascal или C); круглые скобки могут быть использованы для группировки. Например:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # деление всегда возвращает число с плавающей точкой

3. Неформальное введение в Python

В следующих примерах ввод и вывод различаются присутствием или отсутствием приглашений (>>> и ...): чтобы повторить пример, вы должны ввести все после приглашения, когда оно появляется; строки, которые не начинаются с приглашения, являются выводом интерпретатора. Заметьте, что вторичное приглашение на отдельной строке в примере означает, что вы должны ввести пустую строку; это используется для окончания многострочной команды.

2. Использование интерпретатора Python

2.1. Вызов интерпретатора

Интерпретатор Python обычно устанавливается по адресу /usr/local/bin/python3.4 на тех машинах, где это возможно; размещение в /usr/local/bin делает возможным поиску пути вашей командной оболочки Unix запустить его, набрав команду в оболочке:

python3.4

(На Unix интерпретатор Python 3.x не устанавливается по умолчанию с исполняемым именем python, это дает возможность не создавать конфликт с одновременно установленным исполняемым файлом Python 2.x.)

1. Разжигая ваш аппетит

Если вы много работаете на компьютерах, в конце концов обнаружите, что есть некоторые задачи, которые вы хотели бы автоматизировать. Например, возможно вы пожелаете выполнить операцию поиска и замены над большим количеством текстовых файлов, или переименовать и переупорядочить группу файлов фото со сложным путем. Возможно вы хотели бы написать небольшую пользовательскую базу данных или специализированное GUI-приложение или простую игру.

__import__

__import__(name, globals=None, locals=None, fromlist=(), level=0)

Замечание: Это продвинутая функция, которая не нужна в повседневном программировании на Python, в отличие от importlib.import_module().

tuple, type, vars, zip

tuple([iterable])

Скорее чем быть функцией, tuple в действительности тип неизменяемой последовательности, как описано в Tuples (docs.python.org/3/library/stdtypes.html#typesseq-tuple) и Sequence Types — list, tuple, range (docs.python.org/3/library/stdtypes.html#typesseq).

class type(object)
class type(name, bases, dict)

super

super([type[, object-or-type]])

Возвращает объект прокси, который делегирует метод, вызывающий родительский или сестринский класс для type. Это полезно для доступа к унаследованным методам, которые были переопределены в классе. Порядок поиска такой же как при использовании getattr() (docs.python.org/3/library/functions.html#getattr) за исключением того, что сам type пропускается.

staticmethod, str, sum

staticmethod(function)

Возвращает статический метод для function.

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

class C:
    @staticmethod
    def f(arg1, arg2, ...): ...

Форма @staticmethod - это функция decorator (docs.python.org/3/glossary.html#term-decorator) - смотри описание определений функций в Function definitions (docs.python.org/3/reference/compound_stmts.html#function) для подробностей.

Syndicate content