< BACKMake Note | BookmarkCONTINUE >
156135250194107072078175030179198180024228156016206217188240240204172034243132145254063137

Related Modules

There are a number of modules in the Python standard library that add-on to the functionality of the operators and built-in functions for numeric types. Table 5.7 lists the key modules for use with numeric types. Refer to the literature or online documentation for more information on these modules.

Table 5.7. Numeric Type Related Modules

module

contents

array

implements array types… a restricted sequence type

math/cmath

supplies standard C library mathematical functions; most functions available in math are implemented for complex numbers in the cmath module

operator

contains numeric operators available as function calls, i.e., operator.sub(m, n) is equivalent to the difference (m - n) for numbers m and n

random

is default RNG module for Python… obsoletes rand and whrandom

For advanced numerical and scientific mathematics applications, there is also a well known external module called NumPy which may be of interest to you.

NOTE

The random module is the general-purpose place to go if you are looking for random numbers. The random number generator (RNG), based on the Wichmann-Hill algorithm, comes seeded with the current timestamp and is ready to go as soon as it has loaded. Here are four of the most commonly used functions in the random module:

randint()

takes two integer values and returns a random integer between those values inclusive

uniform()

does almost the same thing as randint(), but returns a float and is inclusive only of the smaller number (exclusive of the larger number)

random()

works just like uniform() except that the smaller number is fixed at 0.0, and the larger number is fixed at 1.0

choice()

given a sequence (see Chapter 6), randomly selects and returns a sequence item


We have now come to the conclusion of our tour of all of Python's numeric types. A summary of operators and built-in functions for numeric types is given in Table 5.8.

Table 5.8. Operators and Built-in Functions for All Numeric Types

Operator/built-in

Description

int

long

float

complex

Result [a]

abs()

absolute value

•

•

•

•

numbera[a]

chr()

character

•

•

   

string

coerce()

numeric coercion

•

•

•

•

tuple

complex()

complex conversion

•

•

•

•

complex

divmod()

division/modulo

•

•

•

•

tuple

float()

float conversion

•

•

•

•

float

hex()

hexadecimal string

•

•

   

string

int()

int conversion

•

•

•

•

int

long()

long conversion

•

•

•

•

long

oct()

octal string

•

•

   

string

ord()

ordinal

   

(string)

 

int

pow()

exponentiation

•

•

•

•

number

round()

float rounding

   

•

 

float

** [b]

exponentiation

•

•

•

•

number

+ [c]

no change

•

•

•

•

number

- [c]

negation

•

•

•

•

number

~ [c]

bit inversion

•

•

   

int/long

** [b]

exponentiation

•

•

•

•

number

*

multiplication

•

•

•

•

number

/

division

•

•

•

•

number

%

modulo/remainder

•

•

•

•

number

+

addition

•

•

•

•

number

-

subtraction

•

•

•

•

number

<<

bit left shift

•

•

   

int/long

>>

bit right shift

•

•

   

int/long

&

bitwise AND

•

•

   

int/long

^

bitwise XOR

•

•

   

int/long

|

bitwise OR

•

•

   

int/long

[a] a result of "number" indicates any of the four numeric types

[b] has a unique relationship with unary operators; see Section 5.5.3 and Table 5.2

[c] unary operator


Last updated on 9/14/2001
Core Python Programming, © 2002 Prentice Hall PTR

< BACKMake Note | BookmarkCONTINUE >

© 2002, O'Reilly & Associates, Inc.