Автор : Газетдинов Альберт (по ссылке и оригиналы статей с картинками)
Все статьи Альберта в другом формате можно взять здесь
Арифметические операции
Python, как и положено практически каждому языку программирования, предоставляет возможность осуществления простых арифметических операций:
x y
Возвращает сумму чисел x и y.
x — y
Возвращает разницу между числами x и y.
x * y
Возвращает произведение чисел x и y.
x / y
Возвращает частное от деления чисел x и y.
x % y
Возвращает остаток от деления чисел x и y.
x**y
Возвращает число x в степени y.
— x
Возвращает число x с противоположным знаком.
x
Возвращает число x без изменений.
Обычные вычисления.
Конечно, на основных операциях над числами далеко не уедешь. Сложные математические задачи поможет решить встроенная в Python библиотека функций.
Функции для работы с числами
abs(x)
Возвращает абсолютное значение числа x:
>>> abs(5)
5
>>> abs(-2)
2
>>>
cmp(x, y)
Сравнивает числа x и y и возвращает: -1, если x y:
>>> cmp(-1,2)
-1
>>> cmp(2,1)
1
>>> cmp(3,3)
0
>>>
divmod(a, b)
Возвращает кортеж из двух чисел: целой части и остатка от деления x на y:
>>> divmod(5,3)
(1, 2)
>>>
min(v1, v2, ...)
Возвращает наименьшее число из нескольких чисел, переданных функции:
>>> min(-1,2,3)
-1
>>>
max(v1, v2, ...)
Возвращает наибольшее число из нескольких чисел, переданных функции:
>>> max(-1,2,3)
-3
>>>
pow(x, y)
Возвращает x в степени y:
>>> pow(2,3)
8
>>>
Функции для работы с числами.
Битовые операции для работы с числами
Возможно, кому-то при решении различных логических задач пригодятся функции для побитовой работы с числами:
x | y
Возвращает битовое ИЛИ чисел x и y:
x ^ y
Возвращает битовое исключающее ИЛИ чисел x и y:
x & y
Возвращает битовое И чисел x и y:
x << n
Возвращает число, полученное на основе x, биты которого сдвинуты на n влево. Эквивалентно умножению числа x на двойку в степени n (x * 2 ** n). Отличается очень высокой скоростью выполнения по сравнению с обычным умножением:
x >> n
Возвращает число, полученное на основе x, биты которого сдвинуты на n вправо. Эквивалентно делению числа x на двойку в степени n (x / 2 ** n). Отличается очень высокой скоростью выполнения по сравнению с обычным делением:
~x
Возвращает число, полученное на основе x, все биты которого инвертированы.
Битовые операции — пригождается редко, но метко.
Сокращенная форма записи (простое присваивание)
В Python для удобства и наглядности предусмотрена особая форма записи операций с числами:
lvalue = expression
Аналогичен lvalue = lvalue expression.
lvalue -= expression
Аналогичен lvalue = lvalue — expression.
lvalue *= expression
Аналогичен lvalue = lvalue * expression.
lvalue /= expression
Аналогичен lvalue = lvalue / expression.
lvalue %= expression
Аналогичен lvalue = lvalue % expression.
lvalue **= expression
Аналогичен lvalue = lvalue ** expression.
lvalue &= expression
Аналогичен lvalue = lvalue & expression.
lvalue |= expression
Аналогичен lvalue = lvalue | expression.
lvalue ^= expression
Аналогичен lvalue = lvalue ^ expression.
lvalue >>= expression
Аналогичен lvalue = lvalue >> expression.
lvalue <<= expression
Аналогичен lvalue = lvalue << expression.
Т.е. эта форма записи предполагает определенное действие над переменными lvalue и expression с последующим присваиванием результата обратно переменной lvalue:
>>> a = 1
>>> a = a 1
>>> print a
1
>>> a =1
>>> print a
2
>>>
Сокращенная форма — очень удобная вещь.
Множественное присваивание
Одна из отличительных черт Python — множественное присваивание. Применяется для удобной записи часто используемых операций.
>>> a = b = c = 0
>>> print a, b, c
0, 0, 0
>>>
Т.е. можно нескольким переменным присвоить одно и то же значение (число, текст). Пригождается эта особенность «Питона», например, когда в начале программы надо большому числу переменных присвоить стартовые значения.
Множественное присваивание еще используется и так:
>>> a, b = 0, 1
>>> print a, b
0, 1
>>> a, b = b, a
>>> print a, b
1, 0
>>>
Множественное присваивание.
Т.е. Python вычисляет все значения, находящиеся в правой части (после знака равно «=») и присваивает их левой (соответственно, до знака равно «=»). Если бы мы захотели поменять значения двух переменных местами без использования множественного присваивания, то нам пришлось бы обязательно использовать третью переменную.
Множественное присваивание используется для распаковки и упаковки списков и кортежей:
>>> list = [1, 2, 3]
>>> a, b, c = list
>>> print a, b, c
1, 2, 3
>>>
В примере мы распаковали список длиной три элемента и присвоили их значения трем переменным. Вместо списка можно было использовать и кортеж:
>>> divmod(5,3)
(1, 2)
>>> a, b = divmod(5,3)
>>> print a,b
1, 2
>>>
Упаковка же переменных в список или кортеж, по сути, является способом их создания, который мы и использовали до сих пор:
>>> a, b, c = 1, 2, 3
>>> list = [a, b, c]
>>> tuple = (a, b, c)
>>> print list, tuple
[1, 2, 3], (1, 2, 3)
>>>
Упаковка — распаковка.
Часто именно таким образом — упаковкой — передаются аргументы некоторым функциям.
Преобразование между различными типами данных
Иногда необходимо преобразовать один тип данных в другой. В этом случае пригодятся следующие функции:
int(x)
Преобразовывает значение в целое число. Если ему передано вещественное число, то целое число получается из него обычным отбрасыванием дробной части:
>>> int(«32»)
32
>>> int(3.99999)
3
>>>
float(x)
Преобразовывает целые числа и строки в дробный тип:
>>> float(32)
32.0
>>> float(«3.14159»)
3.14159
>>>
Запомните! Если преобразованию подвергается строка с числами, то наличие в ней букв и знаков препинания ведет к ошибке.
round(x [,n])
Возвращает вещественное число, полученное в результате округления числа x до n знаков после точки. По умолчанию n равен нулю:
>>> round(2.0/3.0, 4)
0.6667
>>>
str(x)
Отвечает за преобразование в строку. Именно эту функцию предварительно запускает команда print:
>>> str(32)
‘32’
>>> str(3.14149)
‘3.14149’
>>>str([1, 2, 3])
[1, 2, 3]
>>>
list(seq)
Преобразовывает строки и кортежи в список:
>>> list(«Hello»)
[«H», «e», «l», «l», «o»]
>>> list((1, 2, 3))
[1, 2, 3]
>>>
tuple(seq)
Преобразовывает строки и списки в кортеж:
>>> tuple(«Hello»)
(«H», «e», «l», «l», «o»)
>>> tuple([1, 2, 3]))
(1, 2, 3)
>>>
repr(date)
Преобразует любой тип данных в строку так, чтобы ее можно было восстановить обратно функцией eval():
>>> repr([1, 2.0, ’Three’]))
‘[1, 2.0, ’Three’]’
>>>
eval(date)
Преобразует строку, полученную функцией repr(), в соответствующий тип данных:
>>> eval(‘[1, 2.0, ’Three’]’))
[1, 2.0, ’Three’]
>>>
Преобразуем сложные типы данных.
hex(x)
Возвращает шестнадцатеричное представление числа x в виде строки с префиксом «0x»:
>>> hex(16)
0x10
>>>
oct(x)
Возвращает восьмеричное представление числа x в виде строки с префиксом «0»:
>>> hex(16)
020
>>>
Для получения информации о типе той или иной переменной можно использовать функцию type():
>>> type(8)
>>> type(8.33)
>>> type(Hello!)
>>> type([1, 2, 3])
>>> type((3, 2, 1))
>>>
Получение типа данных функцией type().
Получаем следующие типы:
— type int — целочисленный тип;
— type float — вещественное число;
— type str — строковой тип;
— type list — список;
— type tuple — кортеж.
На этой ноте я заканчиваю и прощаюсь до следующей статьи, где мы изучим способы управления программой.
- Главная
- Каталог статей
- Общие вопросы о смартфонах
- Программирование для смартфонов
- Python на Symbian S60: числа, присваивание и преобразования
Похожие файлы
Создание и управление интерфейсом на Android с Python. Часть 4
Программирование для смартфоновФруктовый Python! Часть 2.
Программирование для смартфоновЗдесь находятся
всего 0. За сутки здесь было 0 человек
Ошибока!....
max(-1, 2, 3)
3
0 ответить