Python с нуля — часть 6: числа

PythonЧисловые типы данных содержат числовые значения.

Они являются неизменяемыми типами данных, т.е. – при переопределении такого объекта он будет создан заново.

Примечание: проще всего продемонстрировать это с помощью функции id(), которая выводит информацию о id заданного объекта (точнее – его адрес в памяти):

$ cat test.py
#!/usr/bin/env python

# define value for variable 'a'
a = 10
print 'Memory address of variable a is: t', id(a)

# define new value for same variable 'a'
a = 20
print 'New memory address of variable a is: t', id(a)

Результат его выполнения:

$ ./test.py
Memory address of variable a is:        680250140
New memory address of variable a is:    680250020

Числовые объекты создаются тогда, когда вы задаёте им значение.

Вы можете удалить такой объект из памяти с помощью оператора del. Его синтаксис такой:

del var1[,var2[,var3[....,varN]]]]

Можно удалять как одиночный объект – так и несколько. Например:

del var
del var_a, var_b

В Python имеется четыре различных типа числовых объектов:

  • int (signed integers – целые числа): допустимо использование как положительных так и отрицательных чисел без десятичной точки;
  • long (long integers – длинные целые числа): являются теми же integer-числами с неограниченной длиной, записываются как и простые integer-объекты, но заканчиваются прописной или строчной буквой L (см. примечание далее);
  • float (floating point real values – числа с плавающей точкой, дроби): представляют действительные числа и записываются с десятичной точкой, которая разделяет целое число и его дробную часть; так же могут представлять собой “scientific notation“, где E или e обозначают “в степени 10” (2.5e2 = 2.5 x 102 = 250);
  • complex (complex numbers – комплексные числа): имеют вид a + bJ, где a и b являются float, а J (или j) предоставляют квадратный корень из -1 (которое является мнимым числом); a является действительной частью числа, а b – его мнимой частью.

Примеры

int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
  • В Python допустимо использование и l и L буквы для обозначения типа long, но рекомендуется использовать именно прописную (заглавную) букву, что бы не путать её с цифрой 1; по-умолчанию Python отображает long числа с буквой L.

Изменение типов числовых данных

Python изменяет типы данных непосредственно в выражении, содержащем разные типы. Но иногда может возникнуть необходимость сделать это явно, что бы удовлетворить требование оператора или параметра для функции.

  • Укажите int(x) для изменения x в простое целое число (integer);
  • Укажите long(x) для изменения x в long integer;
  • Укажите float(x) для изменения x в дробное (floating-point number);
  • Укажите complex(x) для изменения x в комплексное число с действительной частью x и мнимой частью равной 0;
  • Укажите complex(x, y) для изменения x и y в комплексное число с действительной частью x и мнимой частью y; x и y являются математиескими выражениями

Математические функции

В Python имеются такие функции, выполняющие математические вычисления:

Примечание: необходимо импортировать модуль math:

import math
Function Returns ( description )
abs(x) The absolute value of x: the (positive) distance between x and zero.
ceil(x) The ceiling of x: the smallest integer not less than x
cmp(x, y) -1 if x < y, 0 if x == y, or 1 if x > y
exp(x) The exponential of x: ex
fabs(x) The absolute value of x.
floor(x) The floor of x: the largest integer not greater than x
log(x) The natural logarithm of x, for x> 0
log10(x) The base-10 logarithm of x for x> 0 .
max(x1, x2,…) The largest of its arguments: the value closest to positive infinity
min(x1, x2,…) The smallest of its arguments: the value closest to negative infinity
modf(x) The fractional and integer parts of x in a two-item tuple. Both parts have the same sign as x. The integer part is returned as a float.
pow(x, y) The value of x**y.
round(x [,n]) x rounded to n digits from the decimal point. Python rounds away from zero as a tie-breaker: round(0.5) is 1.0 and round(-0.5) is -1.0.
sqrt(x) The square root of x for x > 0

Функции случайных чисел

Случайные числа используются в играх, программах для симуляция, тестировании, безопасности. Наиболее часто используются такие функции:

Примечание: необходимо импортировать модуль random:

import random
Function Description
choice(seq) A random item from a list, tuple, or string.
randrange ([start,] stop [,step]) A randomly selected element from range(start, stop, step)
random() A random float r, such that 0 is less than or equal to r and r is less than 1
seed([x]) Sets the integer starting value used in generating random numbers. Call this function before calling any other random module function. Returns None.
shuffle(lst) Randomizes the items of a list in place. Returns None.
uniform(x, y) A random float r, such that x is less than or equal to r and r is less than y

Тригонометрические функции

В Python имеются такие функции для тригонометрических вычислений:

Примечание: необходимо импортировать модуль math:

import math
Function Description
acos(x) Return the arc cosine of x, in radians.
asin(x) Return the arc sine of x, in radians.
atan(x) Return the arc tangent of x, in radians.
atan2(y, x) Return atan(y / x), in radians.
cos(x) Return the cosine of x radians.
hypot(x, y) Return the Euclidean norm, sqrt(x*x + y*y).
sin(x) Return the sine of x radians.
tan(x) Return the tangent of x radians.
degrees(x) Converts angle x from radians to degrees.
radians(x) Converts angle x from degrees to radians.

Математические константы

Constants Description
pi The mathematical constant pi.
e The mathematical constant e.