# При выполнении этого кода Python произойдет ОШИБКА -- простая разбивка строк не работает.
x = "This is a misguided attempt to
put a newline into a string without using backslash-n" Но в Python поддерживаются строки в утроенных кавычках, которые позволяют выполнять разбивку, а также включать в текст одинарные и двойные кавычки без экранирования символом \ :
x = """Starting and ending a string with triple " characters permits embedded newlines, and the use of " and ' without backslashes"""
Теперь x содержит весь текст, заключенный между ограничителями """ . (Вместо утроенных двойных кавычек можно использовать утроенные одинарные кавыч-ки ''' — результат будет тем же.)
Python предлагает достаточно богатую функциональность работы со строками; этой теме посвящена глава 6.
4.6. Числа
Скорее всего, читатели уже знакомы со стандартными числовыми операциями по другим языкам программирования, поэтому в книге не будет отдельной главы с описанием возможностей Python по работе со строками. В этой главе описаны уникальные возможности чисел Python, а все доступные функции перечислены в документации Python.
В Python поддерживаются четыре разновидности чисел: целые числа , числа с плавающей точкой , комплексные числа и логические значения . Целочислен-ные константы записываются в стандартном формате целых чисел: 0, –11, +33, 123456 — и обладают неограниченным диапазоном, который ограничивается только ресурсами вашего компьютера. Число с плавающей точкой может записы-ваться либо в дробном формате, либо в экспоненциальной (научной) записи: 3.14, –2E-8, 2.718281828. Точность этих значений определяется архитектурой машины, но обычно она соответствует точности типа double (64-разрядного) в языке C. Вероятно, комплексные числа представляют интерес лишь для узкого круга читателей; они рассматриваются позднее в этом разделе. Логические значения принимают значения True и False , а по своему поведению идентичны 1 и 0 (если не считать строковых представлений).
Арифметические операции во многом напоминают язык C. Операции с двумя це-лыми числами дают целое число, кроме операции деления ( / ), которая дает число с плавающей точкой. Если использовать знак // , то результатом будет целое число (дробная часть отсекается). Операции с числами с плавающей точкой всегда дают результат с плавающей точкой. Несколько примеров:
>>> 5 + 2 - 3 * 2
1
>>> 5 / 2 # При обычном делении результат с плавающей точкой
2.5
>>> 5 / 2.0 # Также результат с плавающей точкой
2.5
>>> 5 // 2 # Целочисленное деление с оператором '//'
2
>>> 30000000000 # Во многих языках такое значение слишком велико для int 30000000000
>>> 30000000000 * 3
90000000000
>>> 30000000000 * 3.0
90000000000.0
>>> 2.0e-8 # Результат с плавающей точкой
2e-08
>>> 3000000 * 3000000
9000000000000
>>> int(200.2)
200
>>> int(2e2)
200
>>> float(200) 
200.0
Здесь продемонстрированы явные преобразования между типами . Вызов int округляет дробные значения.
У чисел Python есть два преимущества по сравнению с C или Java: целые числа могут быть произвольно большими, а при делении двух целых чисел получается результат с плавающей точкой.
4.6.1. Встроенные числовые функции
Python предоставляет следующие числовые функции, входящие в базовый набор встроенной функциональности:
abs, divmod, float, hex, int, max, min, oct,
pow, round
За подробностями обращайтесь к документации.
4.6.2. Сложные числовые функции
Нетривиальные числовые функции, например тригонометрические и гиперболи-ческие тригонометрические функции, а также ряд полезных констант, не встроены в Python, а предоставляются стандартным модулем math . Модули будут более подробно рассмотрены позднее, а пока достаточно знать, что для получения до-
ступа к функциям math из этого раздела следует начать программу Python или интерактивный сеанс командой
from math import *
Модуль math предоставляет следующие функции и константы: acos, asin, atan, atan2, ceil, cos, cosh, e, exp, fabs, floor, fmod, frexp, hypot, ldexp, log, log10, mod, pi, pow, sin, sinh, sqrt, tan, tanh
За подробностями обращайтесь к документации.
4.6.3. Числовые расчеты
Базовая функциональность Python не очень хорошо подходит для интенсивных числовых расчетов из-за ограничений скорости. Однако мощное расширение Python NumPy предоставляет чрезвычайно эффективные реализации многих расширенных числовых операций. Особое внимание уделяется операциям с массивами, включая многомерные матрицы и такие нетривиальные функции, как быстрое преобразо-вание Фурье. Вы найдете пакет NumPy (или ссылки на него) на сайте www.scipy.org.
Читать дальше