- •§0.1. Базовые знания
- •§0.2. Где достать интерпретатор языка Питон?
- •§0.3. Установка интерпретатора языка Питон в unix
- •§0.3.1. Установка/обновление Питона из грт-пакета
- •§0.3.2. Установка Питона из исходного кода
- •§0.4. Установка Питона в ос Windows
- •§0.5. Запуск программ, написанных на Питоне
- •§0.6. Среда разработки
- •§1.1. Алгоритмы и программы
- •§1.2. Языки программирования и уровни абстракции
- •Глава 1. Базовые понятия
- •§1.3. Формальные и естественные языки
- •§1.4. Интерпретаторы и компиляторы
- •§1.5. Первая программа
- •§1.6. Что такое отладка?
- •§1.6.1. Синтаксические ошибки (syntax errors)
- •§1.6.2. Ошибки выполнения (runtime errors)
- •§1.6.3. Семантические ошибки (semantic errors)
- •§1.6.4. Процесс отладки
- •Глава 2. Переменные, операции и выражения
- •§2.1. Значения и типы
- •§2.2. Преобразование типов
- •§2.3. Переменные
- •§2.4. Имена переменных и ключевые слова
- •§2.5. Выражения
- •§2.6. Выполнение выражений
- •§2.7. Операторы и операнды
- •§2.8. Порядок операций
- •§2.9. Простейшие операции над строками
- •§2.10. Композиция
- •Глава 3. Функции §3.1. Подпрограммы
- •§3.2. Вызовы функций
- •§3.3. Справочная система
- •§3.4. Импорт модулей и математические функции
- •§3.5. Композиция
- •§3.6. Создание функций
- •§3.7. Параметры и аргументы
- •§3.8. Локальные переменные
- •§3.9. Поток выполнения
- •§3.10. Стековые диаграммы
- •§3.11. Функции, возвращающие результат
- •Глава 4. Компьютерная графика
- •Глава 5. Логические выражения, условия и рекурсия §5.1. Комментарии в программах
- •§5.2. Простые логические выражения и логический тип данных
- •§5.3. Логические операторы
- •§5.4. Выполнение по условию и «пустота»
- •§5.5. Ввод данных с клавиатуры
- •§5.6. Альтернативные ветки программы (Chained conditionals)
- •§5.7. Пустые блоки
- •§5.8. Вложенные условные операторы (Nested conditionals)
- •§5.9. Рекурсия
- •§5.10. Стековые диаграммы рекурсивных вызовов
- •§5.11. Максимальная глубина рекурсии
- •§5.12. Числа Фибоначчи
- •Глава 6. Циклы
- •§6.1. Оператор цикла while
- •§6.2. Счетчики
- •§6.3. Бесконечные циклы
- •§6.4. Альтернативная ветка цикла while
- •§6.5. Табулирование функций
- •§6.6. Специальные и экранируемые символы
- •§6.7. Числа Фибоначчи и оператор цикла while
- •§6.8. Вложенные операторы цикла и двумерные таблицы
- •§6.9. Классификация операторов цикла
- •§6.10. Управляющие структуры
- •Глава 7. Строки
- •§7.1. Оператор индексирования
- •§7.2. Длина строки и отрицательные индексы
- •§7.3. Перебор и цикл for
- •§7.4. Срезы строк
- •§7.5. Сравнение строк
- •§7.6. Строки нельзя изменить
- •§7.7. Функция find
- •§7.8. Циклы и счётчики
- •§7.9. Модуль string
- •§7.10. Классификация символов
- •§10.2. Операции над словарями
- •§10.3. Методы словарей
- •§10.4. Использование псевдонимов и копирование
- •§10.5. Разряженные матрицы
- •§10.6. Подсказки
- •§10.7. Тип «длинное целое число»
- •§10.8. Подсчет букв
§3.3. Справочная система
В Питоне определено множество функций, позволяющих решать различные задачи. Некоторые из них сгруппированы по назначению и вынесены в отдельные модули. В следующем разделе мы научимся импортировать модули и использовать функции из них, но, для начала, разберемся с тем, как определять, для чего предназначена та или иная функция. Этот навык вам очень пригодится в дальнейшем, т.к. часто довольно трудно догадаться о назначении функций по их названию.
Для упрощения работы программиста в Питоне предусмотрена встроенная переменная
doc (начинается и заканчивается парами символов подчеркивания), в которой обычно
хранится минимальная справочная информация:
>» print str. doc
str (object) -> string
Return a nice string representation of the object.
If the argument is a string, the return value is the same object.
Функция str() «представилась» и вывела информацию о себе: какие параметры она принимает, какого типа значение возвращает, и коротко «рассказала», что она делает.
Начиная с версии 2.2, в Питоне появилась справочная система, реализованная в виде функции help (). Данная функция в качестве параметра принимает имя любого объекта (в том числе, модуля или функции) и выводит справочную информацию о нем.
Упражнение. Ознакомьтесь со справочной информацией функции str (). Имейте ввиду, что в Питоне версий ниже 2.2 функция help () работать не будет. Выход из справочной системы осуществляется клавишей [Q].
35
Ревизия: 170
Функции
§3.4. Импорт модулей и математические функции
Помимо простейших операций над числами, которые мы уже рассматривали, Питон способен вычислять значения более сложных математических функций: тригонометрических, логарифмических и др. Для того, чтобы получить доступ к этим функциям необходимо импортировать или подключить специальный модуль, в котором хранятся определения этих функций. Сделать это можно с помощью такой инструкции:
>» import math >»
Данная команда импортирует модуль math. Питон поддерживает частичный импорт модулей (подробнее об этом можно прочесть в Приложении В), но нам пока это не нужно. Итак, мы импортировали модуль с описанием математических функций и теперь попробуем вызвать из него одну из них. Для начала определим, какие функции и константы определены в модуле:
>» dir(math) |
|
|
|
|
|
|
|
[' doc ', ' file |
', ' name ', |
' acos |
r |
'asin' |
r |
'atan', |
|
'atan2', 'ceil', |
|
||||||
'cos', 'cosh', 'e', |
'exp', 'tabs', |
'floor |
r |
'fmod' |
r |
'frexp', |
|
'hypot', 'ldexp', |
|
|
|
|
|
|
|
'log', 'loglO', 'mo |
df' , 'pi', 'pow' |
, ' sin |
r |
'sinh' |
r |
'sqrt', |
'tan', |
'tanh'] |
|
|
|
|
|
|
|
>» |
|
|
|
|
|
|
|
В результате выполнения этой команды интерпретатор вывел все имена, определенные
в данном модуле. В их числе есть и переменная doc . Для того, чтобы обратиться к
переменной или функции из импортированного модуля необходимо указать его имя, поставить точку и написать необходимое имя:
>» print math. doc |
|
This module is always available. It provides access |
to the |
mathematical functions defined by the С standard. |
|
>» print math.pi |
|
3.14159265359 |
|
>» decibel = math. loglO (17 . 0) |
|
Первая строка примера выводит описание модуля; четвертая - значение константы л, а шестая- вычисляет значение логарифма 17 по основанию 10. Помимо десятичного логарифма в модуле определен и натуральный логарифм (т.е. с основанием е = 2.7182818284590451): math. log (). Еще один пример:
>» |
height = math |
sin |
(45) |
>» |
print height |
|
|
0.850903524534 |
|
|
|
Если вы изучали тригонометрию, то, наверное, помните, что синус 45 градусов равен квадратному корню из 2 деленному на 2. Давайте проверим результат вычисления функции:
36
Ревизия: 170
Функции
>» math |
sqrt(2) |
/ |
2 |
0 |
|
0 |
707106781187 |
|
|
|
|
Результаты получились разные. Почему? Разработчики допустили ошибку? Вполне вероятно - никто не застрахован от ошибок. Но, прежде чем писать отчет об ошибке и отправлять его разработчикам, давайте ознакомимся со справкой по данной функции:
>» help (math, sin) |
|
|
Help on built-in function |
sin: |
|
sin(...) |
|
|
sin(x) |
|
|
Return the sine of x |
(measured in |
radians). |
(END) |
|
|
Из справки видно, что в качестве параметра тригонометрические функции принимают значение угла в радианах. Нажимаем [Q] для выхода из справочной системы с чувством гордости: теперь мы знаем как работает функция math.sinO; проведем преобразование в радианы:
>» |
degrees |
= 45 |
|
|
|
|
|
|
||||||
>» |
angle = |
degrees |
* |
math.pi |
/ |
180 |
0 |
|||||||
>» |
height = |
= math |
sin |
(angle) |
|
|
|
|||||||
>» |
print h( |
sight |
|
|
|
|
|
|
||||||
0.707106781187 |
|
|
|
|
|
|
||||||||
Теперь результаты совпали - все верно.
Упражнение. Выполните в командной строке интерпретатора Питона версии 2.2 или выше следующие инструкции:
>» import math
>» print math. doc
>» help (math)
Ознакомьтесь с описанием модуля и входящих в него функций. Вся справка на экране не поместится, но вы сможете прокручивать текст с помощью клавиш-стрелок. Выход из справочной системы осуществляется клавишей [Q].
Если возникнет желание, можете «поиграться» с этими функциями, написав несколько простеньких программок с их использованием. Где их можно применять?
