实现步骤:
(1) math库
>>> import math
>>> help(math)
Help on built-in module math:
NAME
math
DESCRIPTION
This module is always available. It provides access to the
mathematical functions defined by the C standard.
>>> dir(math)
['__doc__', '__loader__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh',
'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc',
'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot',
'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf',
'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
>>> import cmath
>>> help(cmath)
Help on built-in module cmath:
NAME
cmath
DESCRIPTION
This module is always available. It provides access to mathematical
functions for complex numbers.
>>> dir(cmath)
['__doc__', '__loader__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh',
'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'isfinite', 'isinf', 'isnan', 'log', 'log10',
'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh']
>>> import numbers
>>> help(numbers)
Help on module numbers:
NAME
numbers - Abstract Base Classes (ABCs) for numbers, according to PEP 3141.
DESCRIPTION
TODO: Fill out more detailed documentation on the operators.
CLASSES
builtins.object
Number
Complex
Real
Rational
Integral
class Complex(Number)
| Complex defines the operations that work on the builtin complex type.
|
| In short, those are: a conversion to complex, .real, .imag, +, -,
| *, /, abs(), .conjugate, ==, and !=.
|
| If it is given heterogenous arguments, and doesn't have special
| knowledge about them, it should fall back to the builtin complex
| type as described below.
|
| Method resolution order:
| Complex
| Number
| builtins.object
>>> dir(numbers)
['ABCMeta', 'Complex', 'Integral', 'Number', 'Rational', 'Real', '__all__', '__builtins__',
'__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__',
'__package__', 'abstractmethod']
>>> help(decimal)
Help on module decimal:
NAME
decimal
DESCRIPTION
This is an implementation of decimal floating point arithmetic based on
the General Decimal Arithmetic Specification:
http://speleotrove.com/decimal/decarith.html
and IEEE standard 854-1987:
http://en.wikipedia.org/wiki/IEEE_854-1987
Decimal floating point has finite precision with arbitrarily large bounds.
>>> dir(decimal)
['BasicContext', 'Clamped', 'Context', 'ConversionSyntax', 'Decimal', 'DecimalException',
'DecimalTuple', 'DefaultContext', 'DivisionByZero', 'DivisionImpossible',
'DivisionUndefined', 'ExtendedContext', 'FloatOperation', 'HAVE_THREADS', 'Inexact',
'InvalidContext', 'InvalidOperation', 'MAX_EMAX', 'MAX_PREC', 'MIN_EMIN', 'MIN_ETINY',
'Overflow', 'ROUND_05UP', 'ROUND_CEILING', 'ROUND_DOWN', 'ROUND_FLOOR', 'ROUND_HALF_DOWN',
'ROUND_HALF_EVEN', 'ROUND_HALF_UP', 'ROUND_UP', 'Rounded', 'Subnormal', 'Underflow',
'__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__',
'__version__', 'getcontext', 'localcontext', 'setcontext']
>>> help(decimal.Context)
Help on class Context in module decimal:
class Context(builtins.object)
| The context affects almost all operations and controls rounding,
| Over/Underflow, raising of exceptions and much more. A new context
| can be constructed as follows:
|
| >>> c = Context(prec=28, Emin=-425000000, Emax=425000000,
| ... rounding=ROUND_HALF_EVEN, capitals=1, clamp=1,
| ... traps=[InvalidOperation, DivisionByZero, Overflow],
| ... flags=[])
| >>>
>>> dir(decimal.Context)
['Emax', 'Emin', 'Etiny', 'Etop', '__class__', '__copy__', '__delattr__', '__dir__',
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__',
'__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'_apply', '_unsafe_setemax', '_unsafe_setemin', '_unsafe_setprec', 'abs', 'add', 'canonical'
, 'capitals', 'clamp', 'clear_flags', 'clear_traps', 'compare', 'compare_signal',
'compare_total', 'compare_total_mag', 'copy', 'copy_abs', 'copy_decimal', 'copy_negate',
'copy_sign', 'create_decimal', 'create_decimal_from_float', 'divide', 'divide_int', 'divmod'
, 'exp', 'fma', 'is_canonical', 'is_finite', 'is_infinite', 'is_nan', 'is_normal', 'is_qnan'
, 'is_signed', 'is_snan', 'is_subnormal', 'is_zero', 'ln', 'log10', 'logb', 'logical_and',
'logical_invert', 'logical_or', 'logical_xor', 'max', 'max_mag', 'min', 'min_mag', 'minus',
'multiply', 'next_minus', 'next_plus', 'next_toward', 'normalize', 'number_class', 'plus',
'power', 'prec', 'quantize', 'radix', 'remainder', 'remainder_near', 'rotate', 'rounding',
'same_quantum', 'scaleb', 'shift', 'sqrt', 'subtract', 'to_eng_string', 'to_integral',
'to_integral_exact', 'to_integral_value', 'to_sci_string']
>>> decimal.getcontext().prec=6
>>> decimal.Decimal(1)/decimal.Decimal(6)
Decimal('0.166667')
>>> help(decimal.Context.to_integral_exact)
Help on method_descriptor:
to_integral_exact(...)
to_integral_exact(x) - Round to an integer. Signal if the result is
rounded or inexact.
>>> help(decimal.Context.to_sci_string)
Help on method_descriptor:
to_sci_string(...)
to_sci_string(x) - Convert a number to a string using scientific notation.
>>> decimal.getcontext().to_sci_string(decimal.Decimal(6000.666))
'6000.6660000000001673470251262187957763671875'
>>> decimal.Decimal(6000.666)
Decimal('6000.6660000000001673470251262187957763671875')
>>> decimal.getcontext().to_integral_exact(decimal.Decimal(6000.666))
Decimal('6001')
>>> help(fractions)
Help on module fractions:
NAME
fractions - Fraction, infinite-precision, real numbers.
CLASSES
numbers.Rational(numbers.Real)
Fraction
class Fraction(numbers.Rational)
| This class implements rational numbers.
|
| In the two-argument form of the constructor, Fraction(8, 6) will
| produce a rational number equivalent to 4/3. Both arguments must
| be Rational. The numerator defaults to 0 and the denominator
| defaults to 1 so that Fraction(3) == 3 and Fraction() == 0.
|
| Fractions can also be constructed from:
|
| - numeric strings similar to those accepted by the
| float constructor (for example, '-2.3' or '1e10')
|
| - strings of the form '123/456'
|
| - float and Decimal instances
|
| - other Rational instances (including integers)
|
| Method resolution order:
| Fraction
| numbers.Rational
| numbers.Real
| numbers.Complex
| numbers.Number
| builtins.object
>>> dir(fractions)
['Decimal', 'Fraction', '_PyHASH_INF', '_PyHASH_MODULUS', '_RATIONAL_FORMAT', '__all__',
'__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__',
'__name__', '__package__', 'gcd', 'math', 'numbers', 'operator', 're', 'sys']
>>> fractions.Decimal(1.25)
Decimal('1.25')
>>> fractions.Fraction(1.25)
Fraction(5, 4)
>>> fractions.gcd(100, 25)
25
>>> help(fractions.operator)
Help on built-in module operator:
NAME
operator - Operator interface.
DESCRIPTION
This module exports a set of functions implemented in C corresponding
to the intrinsic operators of Python. For example, operator.add(x, y)
is equivalent to the expression x+y. The function names are those
used for special methods; variants without leading and trailing
'__' are also provided for convenience.
>>> dir(fractions.operator)
['__abs__', '__add__', '__and__', '__concat__', '__contains__', '__delitem__', '__doc__',
'__eq__', '__floordiv__', '__ge__', '__getitem__', '__gt__', '__iadd__', '__iand__',
'__iconcat__', '__ifloordiv__', '__ilshift__', '__imod__', '__imul__', '__index__',
'__inv__', '__invert__', '__ior__', '__ipow__', '__irshift__', '__isub__', '__itruediv__',
'__ixor__', '__le__', '__loader__', '__lshift__', '__lt__', '__mod__', '__mul__', '__name__'
, '__ne__', '__neg__', '__not__', '__or__', '__package__', '__pos__', '__pow__',
'__rshift__', '__setitem__', '__sub__', '__truediv__', '__xor__', '_compare_digest', 'abs',
'add', 'and_', 'attrgetter', 'concat', 'contains', 'countOf', 'delitem', 'eq', 'floordiv',
'ge', 'getitem', 'gt', 'iadd', 'iand', 'iconcat', 'ifloordiv', 'ilshift', 'imod', 'imul',
'index', 'indexOf', 'inv', 'invert', 'ior', 'ipow', 'irshift', 'is_', 'is_not', 'isub',
'itemgetter', 'itruediv', 'ixor', 'le', 'lshift', 'lt', 'methodcaller', 'mod', 'mul', 'ne',
'neg', 'not_', 'or_', 'pos', 'pow', 'rshift', 'setitem', 'sub', 'truediv', 'truth', 'xor']
>>> fractions.operator.add(1,2)
3
>>> import random
>>> help(random)
Help on module random:
NAME
random - Random variable generators.
DESCRIPTION
integers
--------
uniform within range
sequences
---------
pick random element
pick random sample
generate random permutation
distributions on the real line:
------------------------------
uniform
triangular
normal (Gaussian)
lognormal
negative exponential
gamma
beta
pareto
Weibull
distributions on the circle (angles 0 to 2pi)
---------------------------------------------
circular uniform
von Mises
General notes on the underlying Mersenne Twister core generator:
* The period is 2**19937-1.
* It is one of the most extensively tested generators in existence.
* The random() method is implemented in C, executes in a single Python step,
and is, therefore, threadsafe.
CLASSES
_random.Random(builtins.object)
Random
SystemRandom
class Random(_random.Random)
| Random number generator base class used by bound module functions.
|
| Used to instantiate instances of Random to get generators that don't
| share state.
|
| Class Random can also be subclassed if you want to use a different basic
| generator of your own devising: in that case, override the following
| methods: random(), seed(), getstate(), and setstate().
| Optionally, implement a getrandbits() method so that randrange()
| can cover arbitrarily large ranges.
|
| Method resolution order:
| Random
| _random.Random
| builtins.object
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom',
'TWOPI', '_BuiltinMethodType', '_MethodType', '_Sequence', '_Set', '__all__', '__builtins__'
, '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__',
'__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_inst', '_log', '_pi', '_random',
'_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate',
'choice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate',
'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange',
'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate',
'weibullvariate']
>>> help(random.shuffle)
Help on method shuffle in module random:
shuffle(self, x, random=None) method of random.Random instance
x, random=random.random -> shuffle list x in place; return None.
Optional arg random is a 0-argument function returning a random
float in [0.0, 1.0); by default, the standard random.random.
>>> list(range(10));
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> random.shuffle(_)
>>> _
[6, 2, 3, 9, 7, 0, 4, 1, 5, 8]
>>> import array
>>> help(array)
Help on built-in module array:
NAME
array
DESCRIPTION
This module defines an object type which can efficiently represent
an array of basic values: characters, integers, floating point
numbers. Arrays are sequence types and behave very much like lists,
except that the type of objects stored in them is constrained. The
type is specified at object creation time by using a type code, which
is a single character. The following type codes are defined:
Type code C Type Minimum size in bytes
'b' signed integer 1
'B' unsigned integer 1
'u' Unicode character 2 (see note)
'h' signed integer 2
'H' unsigned integer 2
'i' signed integer 2
'I' unsigned integer 2
'l' signed integer 4
'L' unsigned integer 4
'q' signed integer 8 (see note)
'Q' unsigned integer 8 (see note)
'f' floating point 4
'd' floating point 8
NOTE: The 'u' typecode corresponds to Python's unicode character. On
narrow builds this is 2-bytes on wide builds this is 4-bytes.
NOTE: The 'q' and 'Q' type codes are only available if the platform
C compiler used to build Python supports 'long long', or, on Windows,
'__int64'.
The constructor is:
array(typecode [, initializer]) -- create a new array
CLASSES
builtins.object
array
ArrayType = class array(builtins.object)
| array(typecode [, initializer]) -> array
|
| Return a new array whose items are restricted by typecode, and
| initialized from the optional initializer value, which must be a list,
| string or iterable over elements of the appropriate type.
|
| Arrays represent basic values and behave very much like lists, except
| the type of objects stored in them is constrained.
>>> dir(array)
['ArrayType', '__doc__', '__loader__', '__name__', '__package__', '_array_reconstructor',
'array', 'typecodes']
>>> dir(array.array)
['__add__', '__class__', '__contains__', '__copy__', '__deepcopy__', '__delattr__',
'__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__',
'__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__'
, '__repr__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__',
'__subclasshook__', 'append', 'buffer_info', 'byteswap', 'count', 'extend', 'frombytes',
'fromfile', 'fromlist', 'fromstring', 'fromunicode', 'index', 'insert', 'itemsize', 'pop',
'remove', 'reverse', 'tobytes', 'tofile', 'tolist', 'tostring', 'tounicode', 'typecode']
>>> array.array('b', range(10)).fromlist(list(range(2)))
>>> _
array('b', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> array.array('b', range(5)).fromlist(list(range(10)))
>>> _
array('b', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> _.reverse()
>>> _
array('b', [9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
>>> _.tostring()
b'\t\x08\x07\x06\x05\x04\x03\x02\x01\x00'
本节到此结束。