File indexing completed on 2024-05-12 08:36:12
0001 #!/usr/bin/env python2.7 0002 # -*- coding: utf-8 -*- 0003 """ 0004 Built-in Functions 0005 ================== 0006 0007 The Python interpreter has a number of functions built into it that are always 0008 available. They are listed here in alphabetical order. 0009 0010 =================== ================= ================== ================= ==================== 0011 .. .. Built-in Functions .. .. 0012 =================== ================= ================== ================= ==================== 0013 :func:`abs` :func:`divmod` :func:`input` :func:`open` :func:`staticmethod` 0014 :func:`all` :func:`enumerate` :func:`int` :func:`ord` :func:`str` 0015 :func:`any` :func:`eval` :func:`isinstance` :func:`pow` :func:`sum` 0016 :func:`basestring` :func:`execfile` :func:`issubclass` :func:`print` :func:`super` 0017 :func:`bin` :func:`file` :func:`iter` :func:`property` :func:`tuple` 0018 :func:`bool` :func:`filter` :func:`len` :func:`range` :func:`type` 0019 :func:`bytearray` :func:`float` :func:`list` :func:`raw_input` :func:`unichr` 0020 :func:`callable` :func:`format` :func:`locals` :func:`reduce` :func:`unicode` 0021 :func:`chr` :func:`frozenset` :func:`long` :func:`reload` :func:`vars` 0022 :func:`classmethod` :func:`getattr` :func:`map` :func:`repr` :func:`xrange` 0023 :func:`cmp` :func:`globals` :func:`max` :func:`reversed` :func:`zip` 0024 :func:`compile` :func:`hasattr` :func:`memoryview` :func:`round` :func:`__import__` 0025 :func:`complex` :func:`hash` :func:`min` :func:`set` :func:`apply` 0026 :func:`delattr` :func:`help` :func:`next` :func:`setattr` :func:`buffer` 0027 :func:`dict` :func:`hex` :func:`object` :func:`slice` :func:`coerce` 0028 :func:`dir` :func:`id` :func:`oct` :func:`sorted` :func:`intern` 0029 =================== ================= ================== ================= ==================== 0030 0031 """ 0032 def abs(x): 0033 """ 0034 Return the absolute value of a number. The argument may be a plain or long 0035 integer or a floating point number. If the argument is a complex number, its 0036 magnitude is returned. 0037 0038 0039 """ 0040 pass 0041 0042 def all(iterable): 0043 """ 0044 Return True if all elements of the *iterable* are true (or if the iterable 0045 is empty). Equivalent to:: 0046 0047 def all(iterable): 0048 for element in iterable: 0049 if not element: 0050 return False 0051 return True 0052 0053 """ 0054 pass 0055 0056 def any(iterable): 0057 """ 0058 Return True if any element of the *iterable* is true. If the iterable 0059 is empty, return False. Equivalent to:: 0060 0061 def any(iterable): 0062 for element in iterable: 0063 if element: 0064 return True 0065 return False 0066 0067 """ 0068 pass 0069 0070 def basestring(): 0071 """ 0072 This abstract type is the superclass for :class:`str` and :class:`unicode`. It 0073 cannot be called or instantiated, but it can be used to test whether an object 0074 is an instance of :class:`str` or :class:`unicode`. ``isinstance(obj, 0075 basestring)`` is equivalent to ``isinstance(obj, (str, unicode))``. 0076 0077 """ 0078 pass 0079 0080 def bin(x): 0081 """ 0082 Convert an integer number to a binary string. The result is a valid Python 0083 expression. If *x* is not a Python :class:`int` object, it has to define an 0084 :meth:`__index__` method that returns an integer. 0085 0086 """ 0087 pass 0088 0089 def bool(x): 0090 """ 0091 Convert a value to a Boolean, using the standard truth testing procedure. If 0092 *x* is false or omitted, this returns :const:`False`; otherwise it returns 0093 :const:`True`. :class:`bool` is also a class, which is a subclass of 0094 :class:`int`. Class :class:`bool` cannot be subclassed further. Its only 0095 instances are :const:`False` and :const:`True`. 0096 0097 """ 0098 pass 0099 0100 def bytearray(source,encoding,errors): 0101 """ 0102 Return a new array of bytes. The :class:`bytearray` type is a mutable 0103 sequence of integers in the range 0 <= x < 256. It has most of the usual 0104 methods of mutable sequences, described in :ref:`typesseq-mutable`, as well 0105 as most methods that the :class:`str` type has, see :ref:`string-methods`. 0106 0107 The optional *source* parameter can be used to initialize the array in a few 0108 different ways: 0109 0110 * If it is a *string*, you must also give the *encoding* (and optionally, 0111 *errors*) parameters; :func:`bytearray` then converts the string to 0112 bytes using :meth:`str.encode`. 0113 0114 * If it is an *integer*, the array will have that size and will be 0115 initialized with null bytes. 0116 0117 * If it is an object conforming to the *buffer* interface, a read-only buffer 0118 of the object will be used to initialize the bytes array. 0119 0120 * If it is an *iterable*, it must be an iterable of integers in the range 0121 ``0 <= x < 256``, which are used as the initial contents of the array. 0122 0123 Without an argument, an array of size 0 is created. 0124 0125 0126 """ 0127 pass 0128 0129 def callable(object): 0130 """ 0131 Return :const:`True` if the *object* argument appears callable, 0132 :const:`False` if not. If this 0133 returns true, it is still possible that a call fails, but if it is false, 0134 calling *object* will never succeed. Note that classes are callable (calling a 0135 class returns a new instance); class instances are callable if they have a 0136 :meth:`__call__` method. 0137 0138 0139 """ 0140 pass 0141 0142 def chr(i): 0143 """ 0144 Return a string of one character whose ASCII code is the integer *i*. For 0145 example, ``chr(97)`` returns the string ``'a'``. This is the inverse of 0146 :func:`ord`. The argument must be in the range [0..255], inclusive; 0147 :exc:`ValueError` will be raised if *i* is outside that range. See 0148 also :func:`unichr`. 0149 0150 0151 """ 0152 pass 0153 0154 def _classmethod(function): 0155 """ 0156 Return a class method for *function*. 0157 0158 A class method receives the class as implicit first argument, just like an 0159 instance method receives the instance. To declare a class method, use this 0160 idiom:: 0161 0162 class C: 0163 @classmethod 0164 def f(cls, arg1, arg2, more): more 0165 0166 The ``@classmethod`` form is a function :term:`decorator` -- see the description 0167 of function definitions in :ref:`function` for details. 0168 0169 It can be called either on the class (such as ``C.f()``) or on an instance (such 0170 as ``C().f()``). The instance is ignored except for its class. If a class 0171 method is called for a derived class, the derived class object is passed as the 0172 implied first argument. 0173 0174 Class methods are different than C++ or Java static methods. If you want those, 0175 see :func:`staticmethod` in this section. 0176 0177 For more information on class methods, consult the documentation on the standard 0178 type hierarchy in :ref:`types`. 0179 0180 """ 0181 pass 0182 0183 def cmp(x,y): 0184 """ 0185 Compare the two objects *x* and *y* and return an integer according to the 0186 outcome. The return value is negative if ``x < y``, zero if ``x == y`` and 0187 strictly positive if ``x > y``. 0188 0189 0190 """ 0191 pass 0192 0193 def compile(source,filename,mode,flags,dont_inherit): 0194 """ 0195 Compile the *source* into a code or AST object. Code objects can be executed 0196 by an :keyword:`exec` statement or evaluated by a call to :func:`eval`. 0197 *source* can either be a string or an AST object. Refer to the :mod:`ast` 0198 module documentation for information on how to work with AST objects. 0199 0200 The *filename* argument should give the file from which the code was read; 0201 pass some recognizable value if it wasn't read from a file (``'<string>'`` is 0202 commonly used). 0203 0204 The *mode* argument specifies what kind of code must be compiled; it can be 0205 ``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if it 0206 consists of a single expression, or ``'single'`` if it consists of a single 0207 interactive statement (in the latter case, expression statements that 0208 evaluate to something other than ``None`` will be printed). 0209 0210 The optional arguments *flags* and *dont_inherit* control which future 0211 statements (see :pep:`236`) affect the compilation of *source*. If neither 0212 is present (or both are zero) the code is compiled with those future 0213 statements that are in effect in the code that is calling compile. If the 0214 *flags* argument is given and *dont_inherit* is not (or is zero) then the 0215 future statements specified by the *flags* argument are used in addition to 0216 those that would be used anyway. If *dont_inherit* is a non-zero integer then 0217 the *flags* argument is it -- the future statements in effect around the call 0218 to compile are ignored. 0219 0220 Future statements are specified by bits which can be bitwise ORed together to 0221 specify multiple statements. The bitfield required to specify a given feature 0222 can be found as the :attr:`compiler_flag` attribute on the :class:`_Feature` 0223 instance in the :mod:`__future__` module. 0224 0225 This function raises :exc:`SyntaxError` if the compiled source is invalid, 0226 and :exc:`TypeError` if the source contains null bytes. 0227 0228 """ 0229 pass 0230 0231 def complex(real,imag): 0232 """ 0233 Create a complex number with the value *real* + *imag*\*j or convert a string or 0234 number to a complex number. If the first parameter is a string, it will be 0235 interpreted as a complex number and the function must be called without a second 0236 parameter. The second parameter can never be a string. Each argument may be any 0237 numeric type (including complex). If *imag* is omitted, it defaults to zero and 0238 the function serves as a numeric conversion function like :func:`int`, 0239 :func:`long` and :func:`float`. If both arguments are omitted, returns ``0j``. 0240 0241 The complex type is described in :ref:`typesnumeric`. 0242 0243 0244 """ 0245 pass 0246 0247 def delattr(object,name): 0248 """ 0249 This is a relative of :func:`setattr`. The arguments are an object and a 0250 string. The string must be the name of one of the object's attributes. The 0251 function deletes the named attribute, provided the object allows it. For 0252 example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. 0253 0254 0255 """ 0256 pass 0257 0258 def dict(arg): 0259 """:noindex: 0260 0261 Create a new data dictionary, optionally with items taken from *arg*. 0262 The dictionary type is described in :ref:`typesmapping`. 0263 0264 For other containers see the built in :class:`list`, :class:`set`, and 0265 :class:`tuple` classes, and the :mod:`collections` module. 0266 0267 0268 """ 0269 pass 0270 0271 def dir(object): 0272 """ 0273 Without arguments, return the list of names in the current local scope. With an 0274 argument, attempt to return a list of valid attributes for that object. 0275 0276 If the object has a method named :meth:`__dir__`, this method will be called and 0277 must return the list of attributes. This allows objects that implement a custom 0278 :func:`__getattr__` or :func:`__getattribute__` function to customize the way 0279 :func:`dir` reports their attributes. 0280 0281 If the object does not provide :meth:`__dir__`, the function tries its best to 0282 gather information from the object's :attr:`__dict__` attribute, if defined, and 0283 from its type object. The resulting list is not necessarily complete, and may 0284 be inaccurate when the object has a custom :func:`__getattr__`. 0285 0286 The default :func:`dir` mechanism behaves differently with different types of 0287 objects, as it attempts to produce the most relevant, rather than complete, 0288 information: 0289 0290 * If the object is a module object, the list contains the names of the module's 0291 attributes. 0292 0293 * If the object is a type or class object, the list contains the names of its 0294 attributes, and recursively of the attributes of its bases. 0295 0296 * Otherwise, the list contains the object's attributes' names, the names of its 0297 class's attributes, and recursively of the attributes of its class's base 0298 classes. 0299 0300 The resulting list is sorted alphabetically. For example: 0301 0302 >>> import struct 0303 >>> dir() # doctest: +SKIP 0304 ['__builtins__', '__doc__', '__name__', 'struct'] 0305 >>> dir(struct) # doctest: +NORMALIZE_WHITESPACE 0306 ['Struct', '__builtins__', '__doc__', '__file__', '__name__', 0307 '__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into', 0308 'unpack', 'unpack_from'] 0309 >>> class Foo(object): 0310 more def __dir__(self): 0311 more return ["kan", "ga", "roo"] 0312 more 0313 >>> f = Foo() 0314 >>> dir(f) 0315 ['ga', 'kan', 'roo'] 0316 0317 """ 0318 pass 0319 0320 def divmod(a,b): 0321 """ 0322 Take two (non complex) numbers as arguments and return a pair of numbers 0323 consisting of their quotient and remainder when using long division. With mixed 0324 operand types, the rules for binary arithmetic operators apply. For plain and 0325 long integers, the result is the same as ``(a // b, a % b)``. For floating point 0326 numbers the result is ``(q, a % b)``, where *q* is usually ``math.floor(a / b)`` 0327 but may be 1 less than that. In any case ``q * b + a % b`` is very close to 0328 *a*, if ``a % b`` is non-zero it has the same sign as *b*, and ``0 <= abs(a % b) 0329 < abs(b)``. 0330 0331 """ 0332 pass 0333 0334 def enumerate(sequence,start=0): 0335 """ 0336 Return an enumerate object. *sequence* must be a sequence, an 0337 :term:`iterator`, or some other object which supports iteration. The 0338 :meth:`!next` method of the iterator returned by :func:`enumerate` returns a 0339 tuple containing a count (from *start* which defaults to 0) and the 0340 corresponding value obtained from iterating over *iterable*. 0341 :func:`enumerate` is useful for obtaining an indexed series: ``(0, seq[0])``, 0342 ``(1, seq[1])``, ``(2, seq[2])``, more. For example: 0343 0344 >>> for i, season in enumerate(['Spring', 'Summer', 'Fall', 'Winter']): 0345 more print i, season 0346 0 Spring 0347 1 Summer 0348 2 Fall 0349 3 Winter 0350 0351 """ 0352 pass 0353 0354 def eval(expression,globals,locals): 0355 """ 0356 The arguments are a string and optional globals and locals. If provided, 0357 *globals* must be a dictionary. If provided, *locals* can be any mapping 0358 object. 0359 0360 """ 0361 pass 0362 0363 def execfile(filename,globals,locals): 0364 """ 0365 This function is similar to the :keyword:`exec` statement, but parses a file 0366 instead of a string. It is different from the :keyword:`import` statement in 0367 that it does not use the module administration --- it reads the file 0368 unconditionally and does not create a new module. [#]_ 0369 0370 The arguments are a file name and two optional dictionaries. The file is parsed 0371 and evaluated as a sequence of Python statements (similarly to a module) using 0372 the *globals* and *locals* dictionaries as global and local namespace. If 0373 provided, *locals* can be any mapping object. 0374 0375 """ 0376 pass 0377 0378 def file(filename,mode,bufsize): 0379 """ 0380 Constructor function for the :class:`file` type, described further in section 0381 :ref:`bltin-file-objects`. The constructor's arguments are the same as those 0382 of the :func:`open` built-in function described below. 0383 0384 When opening a file, it's preferable to use :func:`open` instead of invoking 0385 this constructor directly. :class:`file` is more suited to type testing (for 0386 example, writing ``isinstance(f, file)``). 0387 0388 """ 0389 pass 0390 0391 def filter(function,iterable): 0392 """ 0393 Construct a list from those elements of *iterable* for which *function* returns 0394 true. *iterable* may be either a sequence, a container which supports 0395 iteration, or an iterator. If *iterable* is a string or a tuple, the result 0396 also has that type; otherwise it is always a list. If *function* is ``None``, 0397 the identity function is assumed, that is, all elements of *iterable* that are 0398 false are removed. 0399 0400 Note that ``filter(function, iterable)`` is equivalent to ``[item for item in 0401 iterable if function(item)]`` if function is not ``None`` and ``[item for item 0402 in iterable if item]`` if function is ``None``. 0403 0404 See :func:`itertools.ifilter` and :func:`itertools.ifilterfalse` for iterator 0405 versions of this function, including a variation that filters for elements 0406 where the *function* returns false. 0407 0408 0409 """ 0410 pass 0411 0412 def float(x): 0413 """ 0414 Convert a string or a number to floating point. If the argument is a string, it 0415 must contain a possibly signed decimal or floating point number, possibly 0416 embedded in whitespace. The argument may also be [+|-]nan or [+|-]inf. 0417 Otherwise, the argument may be a plain or long integer 0418 or a floating point number, and a floating point number with the same value 0419 (within Python's floating point precision) is returned. If no argument is 0420 given, returns ``0.0``. 0421 0422 """ 0423 pass 0424 0425 def format(value,format_spec): 0426 """ 0427 """ 0428 pass 0429 0430 def frozenset(iterable): 0431 """:noindex: 0432 0433 Return a frozenset object, optionally with elements taken from *iterable*. 0434 The frozenset type is described in :ref:`types-set`. 0435 0436 For other containers see the built in :class:`dict`, :class:`list`, and 0437 :class:`tuple` classes, and the :mod:`collections` module. 0438 0439 """ 0440 pass 0441 0442 def getattr(object,name,default): 0443 """ 0444 Return the value of the named attribute of *object*. *name* must be a string. 0445 If the string is the name of one of the object's attributes, the result is the 0446 value of that attribute. For example, ``getattr(x, 'foobar')`` is equivalent to 0447 ``x.foobar``. If the named attribute does not exist, *default* is returned if 0448 provided, otherwise :exc:`AttributeError` is raised. 0449 0450 0451 """ 0452 pass 0453 0454 def globals(): 0455 """ 0456 Return a dictionary representing the current global symbol table. This is always 0457 the dictionary of the current module (inside a function or method, this is the 0458 module where it is defined, not the module from which it is called). 0459 0460 0461 """ 0462 pass 0463 0464 def hasattr(object,name): 0465 """ 0466 The arguments are an object and a string. The result is ``True`` if the string 0467 is the name of one of the object's attributes, ``False`` if not. (This is 0468 implemented by calling ``getattr(object, name)`` and seeing whether it raises an 0469 exception or not.) 0470 0471 0472 """ 0473 pass 0474 0475 def hash(object): 0476 """ 0477 Return the hash value of the object (if it has one). Hash values are integers. 0478 They are used to quickly compare dictionary keys during a dictionary lookup. 0479 Numeric values that compare equal have the same hash value (even if they are of 0480 different types, as is the case for 1 and 1.0). 0481 0482 0483 """ 0484 pass 0485 0486 def help(object): 0487 """ 0488 Invoke the built-in help system. (This function is intended for interactive 0489 use.) If no argument is given, the interactive help system starts on the 0490 interpreter console. If the argument is a string, then the string is looked up 0491 as the name of a module, function, class, method, keyword, or documentation 0492 topic, and a help page is printed on the console. If the argument is any other 0493 kind of object, a help page on the object is generated. 0494 0495 This function is added to the built-in namespace by the :mod:`site` module. 0496 0497 """ 0498 pass 0499 0500 def hex(x): 0501 """ 0502 Convert an integer number (of any size) to a hexadecimal string. The result is a 0503 valid Python expression. 0504 0505 """ 0506 pass 0507 0508 def id(object): 0509 """ 0510 Return the "identity" of an object. This is an integer (or long integer) which 0511 is guaranteed to be unique and constant for this object during its lifetime. 0512 Two objects with non-overlapping lifetimes may have the same :func:`id` 0513 value. 0514 0515 """ 0516 pass 0517 0518 def input(prompt): 0519 """ 0520 Equivalent to ``eval(raw_input(prompt))``. 0521 0522 """ 0523 pass 0524 0525 def int(x,base): 0526 """ 0527 Convert a string or number to a plain integer. If the argument is a string, 0528 it must contain a possibly signed decimal number representable as a Python 0529 integer, possibly embedded in whitespace. The *base* parameter gives the 0530 base for the conversion (which is 10 by default) and may be any integer in 0531 the range [2, 36], or zero. If *base* is zero, the proper radix is 0532 determined based on the contents of string; the interpretation is the same as 0533 for integer literals. (See :ref:`numbers`.) If *base* is specified and *x* 0534 is not a string, :exc:`TypeError` is raised. Otherwise, the argument may be a 0535 plain or long integer or a floating point number. Conversion of floating 0536 point numbers to integers truncates (towards zero). If the argument is 0537 outside the integer range a long object will be returned instead. If no 0538 arguments are given, returns ``0``. 0539 0540 The integer type is described in :ref:`typesnumeric`. 0541 0542 0543 """ 0544 pass 0545 0546 def isinstance(object,_classinfo): 0547 """ 0548 Return true if the *object* argument is an instance of the *classinfo* argument, 0549 or of a (direct or indirect) subclass thereof. Also return true if *classinfo* 0550 is a type object (new-style class) and *object* is an object of that type or of 0551 a (direct or indirect) subclass thereof. If *object* is not a class instance or 0552 an object of the given type, the function always returns false. If *classinfo* 0553 is neither a class object nor a type object, it may be a tuple of class or type 0554 objects, or may recursively contain other such tuples (other sequence types are 0555 not accepted). If *classinfo* is not a class, type, or tuple of classes, types, 0556 and such tuples, a :exc:`TypeError` exception is raised. 0557 0558 """ 0559 pass 0560 0561 def issub_class(_class,_classinfo): 0562 """ 0563 Return true if *class* is a subclass (direct or indirect) of *classinfo*. A 0564 class is considered a subclass of itself. *classinfo* may be a tuple of class 0565 objects, in which case every entry in *classinfo* will be checked. In any other 0566 case, a :exc:`TypeError` exception is raised. 0567 0568 """ 0569 pass 0570 0571 def iter(o,sentinel): 0572 """ 0573 Return an :term:`iterator` object. The first argument is interpreted very differently 0574 depending on the presence of the second argument. Without a second argument, *o* 0575 must be a collection object which supports the iteration protocol (the 0576 :meth:`__iter__` method), or it must support the sequence protocol (the 0577 :meth:`__getitem__` method with integer arguments starting at ``0``). If it 0578 does not support either of those protocols, :exc:`TypeError` is raised. If the 0579 second argument, *sentinel*, is given, then *o* must be a callable object. The 0580 iterator created in this case will call *o* with no arguments for each call to 0581 its :meth:`~iterator.next` method; if the value returned is equal to *sentinel*, 0582 :exc:`StopIteration` will be raised, otherwise the value will be returned. 0583 0584 One useful application of the second form of :func:`iter` is to read lines of 0585 a file until a certain line is reached. The following example reads a file 0586 until ``"STOP"`` is reached: :: 0587 0588 with open("mydata.txt") as fp: 0589 for line in iter(fp.readline, "STOP"): 0590 process_line(line) 0591 0592 """ 0593 pass 0594 0595 def len(s): 0596 """ 0597 Return the length (the number of items) of an object. The argument may be a 0598 sequence (string, tuple or list) or a mapping (dictionary). 0599 0600 0601 """ 0602 pass 0603 0604 def list(iterable): 0605 """ 0606 Return a list whose items are the same and in the same order as *iterable*'s 0607 items. *iterable* may be either a sequence, a container that supports 0608 iteration, or an iterator object. If *iterable* is already a list, a copy is 0609 made and returned, similar to ``iterable[:]``. For instance, ``list('abc')`` 0610 returns ``['a', 'b', 'c']`` and ``list( (1, 2, 3) )`` returns ``[1, 2, 3]``. If 0611 no argument is given, returns a new empty list, ``[]``. 0612 0613 :class:`list` is a mutable sequence type, as documented in 0614 :ref:`typesseq`. For other containers see the built in :class:`dict`, 0615 :class:`set`, and :class:`tuple` classes, and the :mod:`collections` module. 0616 0617 0618 """ 0619 pass 0620 0621 def locals(): 0622 """ 0623 Update and return a dictionary representing the current local symbol table. 0624 Free variables are returned by :func:`locals` when it is called in function 0625 blocks, but not in class blocks. 0626 0627 """ 0628 pass 0629 0630 def long(x,base): 0631 """ 0632 Convert a string or number to a long integer. If the argument is a string, it 0633 must contain a possibly signed number of arbitrary size, possibly embedded in 0634 whitespace. The *base* argument is interpreted in the same way as for 0635 :func:`int`, and may only be given when *x* is a string. Otherwise, the argument 0636 may be a plain or long integer or a floating point number, and a long integer 0637 with the same value is returned. Conversion of floating point numbers to 0638 integers truncates (towards zero). If no arguments are given, returns ``0L``. 0639 0640 The long type is described in :ref:`typesnumeric`. 0641 0642 0643 """ 0644 pass 0645 0646 def map(function,iterable,more): 0647 """ 0648 Apply *function* to every item of *iterable* and return a list of the results. 0649 If additional *iterable* arguments are passed, *function* must take that many 0650 arguments and is applied to the items from all iterables in parallel. If one 0651 iterable is shorter than another it is assumed to be extended with ``None`` 0652 items. If *function* is ``None``, the identity function is assumed; if there 0653 are multiple arguments, :func:`map` returns a list consisting of tuples 0654 containing the corresponding items from all iterables (a kind of transpose 0655 operation). The *iterable* arguments may be a sequence or any iterable object; 0656 the result is always a list. 0657 0658 0659 """ 0660 pass 0661 0662 def max(iterable,argsmorekey): 0663 """ 0664 With a single argument *iterable*, return the largest item of a non-empty 0665 iterable (such as a string, tuple or list). With more than one argument, return 0666 the largest of the arguments. 0667 0668 The optional *key* argument specifies a one-argument ordering function like that 0669 used for :meth:`list.sort`. The *key* argument, if supplied, must be in keyword 0670 form (for example, ``max(a,b,c,key=func)``). 0671 0672 """ 0673 pass 0674 0675 def memoryview(obj): 0676 """:noindex: 0677 0678 Return a "memory view" object created from the given argument. See 0679 :ref:`typememoryview` for more information. 0680 0681 0682 """ 0683 pass 0684 0685 def min(iterable,argsmorekey): 0686 """ 0687 With a single argument *iterable*, return the smallest item of a non-empty 0688 iterable (such as a string, tuple or list). With more than one argument, return 0689 the smallest of the arguments. 0690 0691 The optional *key* argument specifies a one-argument ordering function like that 0692 used for :meth:`list.sort`. The *key* argument, if supplied, must be in keyword 0693 form (for example, ``min(a,b,c,key=func)``). 0694 0695 """ 0696 pass 0697 0698 def next(iterator,default): 0699 """ 0700 Retrieve the next item from the *iterator* by calling its 0701 :meth:`~iterator.next` method. If *default* is given, it is returned if the 0702 iterator is exhausted, otherwise :exc:`StopIteration` is raised. 0703 0704 """ 0705 pass 0706 0707 def object(): 0708 """ 0709 Return a new featureless object. :class:`object` is a base for all new style 0710 classes. It has the methods that are common to all instances of new style 0711 classes. 0712 0713 """ 0714 pass 0715 0716 def oct(x): 0717 """ 0718 Convert an integer number (of any size) to an octal string. The result is a 0719 valid Python expression. 0720 0721 """ 0722 pass 0723 0724 def open(filename,mode,bufsize): 0725 """ 0726 Open a file, returning an object of the :class:`file` type described in 0727 section :ref:`bltin-file-objects`. If the file cannot be opened, 0728 :exc:`IOError` is raised. When opening a file, it's preferable to use 0729 :func:`open` instead of invoking the :class:`file` constructor directly. 0730 0731 The first two arguments are the same as for ``stdio``'s :cfunc:`fopen`: 0732 *filename* is the file name to be opened, and *mode* is a string indicating how 0733 the file is to be opened. 0734 0735 The most commonly-used values of *mode* are ``'r'`` for reading, ``'w'`` for 0736 writing (truncating the file if it already exists), and ``'a'`` for appending 0737 (which on *some* Unix systems means that *all* writes append to the end of the 0738 file regardless of the current seek position). If *mode* is omitted, it 0739 defaults to ``'r'``. The default is to use text mode, which may convert 0740 ``'\n'`` characters to a platform-specific representation on writing and back 0741 on reading. Thus, when opening a binary file, you should append ``'b'`` to 0742 the *mode* value to open the file in binary mode, which will improve 0743 portability. (Appending ``'b'`` is useful even on systems that don't treat 0744 binary and text files differently, where it serves as documentation.) See below 0745 for more possible values of *mode*. 0746 0747 """ 0748 pass 0749 0750 def ord(c): 0751 """ 0752 Given a string of length one, return an integer representing the Unicode code 0753 point of the character when the argument is a unicode object, or the value of 0754 the byte when the argument is an 8-bit string. For example, ``ord('a')`` returns 0755 the integer ``97``, ``ord(u'\u2020')`` returns ``8224``. This is the inverse of 0756 :func:`chr` for 8-bit strings and of :func:`unichr` for unicode objects. If a 0757 unicode argument is given and Python was built with UCS2 Unicode, then the 0758 character's code point must be in the range [0..65535] inclusive; otherwise the 0759 string length is two, and a :exc:`TypeError` will be raised. 0760 0761 0762 """ 0763 pass 0764 0765 def pow(x,y,z): 0766 """ 0767 Return *x* to the power *y*; if *z* is present, return *x* to the power *y*, 0768 modulo *z* (computed more efficiently than ``pow(x, y) % z``). The two-argument 0769 form ``pow(x, y)`` is equivalent to using the power operator: ``x**y``. 0770 0771 The arguments must have numeric types. With mixed operand types, the coercion 0772 rules for binary arithmetic operators apply. For int and long int operands, the 0773 result has the same type as the operands (after coercion) unless the second 0774 argument is negative; in that case, all arguments are converted to float and a 0775 float result is delivered. For example, ``10**2`` returns ``100``, but 0776 ``10**-2`` returns ``0.01``. (This last feature was added in Python 2.2. In 0777 Python 2.1 and before, if both arguments were of integer types and the second 0778 argument was negative, an exception was raised.) If the second argument is 0779 negative, the third argument must be omitted. If *z* is present, *x* and *y* 0780 must be of integer types, and *y* must be non-negative. (This restriction was 0781 added in Python 2.2. In Python 2.1 and before, floating 3-argument ``pow()`` 0782 returned platform-dependent results depending on floating-point rounding 0783 accidents.) 0784 0785 0786 """ 0787 pass 0788 0789 def property(fget,fset,fdel,doc): 0790 """ 0791 Return a property attribute for :term:`new-style class`\es (classes that 0792 derive from :class:`object`). 0793 0794 *fget* is a function for getting an attribute value, likewise *fset* is a 0795 function for setting, and *fdel* a function for del'ing, an attribute. Typical 0796 use is to define a managed attribute ``x``:: 0797 0798 class C(object): 0799 def __init__(self): 0800 self._x = None 0801 0802 def getx(self): 0803 return self._x 0804 def setx(self, value): 0805 self._x = value 0806 def delx(self): 0807 del self._x 0808 x = property(getx, setx, delx, "I'm the 'x' property.") 0809 0810 If then *c* is an instance of *C*, ``c.x`` will invoke the getter, 0811 ``c.x = value`` will invoke the setter and ``del c.x`` the deleter. 0812 0813 If given, *doc* will be the docstring of the property attribute. Otherwise, the 0814 property will copy *fget*'s docstring (if it exists). This makes it possible to 0815 create read-only properties easily using :func:`property` as a :term:`decorator`:: 0816 0817 class Parrot(object): 0818 def __init__(self): 0819 self._voltage = 100000 0820 0821 @property 0822 def voltage(self): 0823 " " " Get the current voltage. " " " 0824 return self._voltage 0825 0826 turns the :meth:`voltage` method into a "getter" for a read-only attribute 0827 with the same name. 0828 0829 A property object has :attr:`getter`, :attr:`setter`, and :attr:`deleter` 0830 methods usable as decorators that create a copy of the property with the 0831 corresponding accessor function set to the decorated function. This is 0832 best explained with an example:: 0833 0834 class C(object): 0835 def __init__(self): 0836 self._x = None 0837 0838 @property 0839 def x(self): 0840 " " " I'm the 'x' property. " " " 0841 return self._x 0842 0843 @x.setter 0844 def x(self, value): 0845 self._x = value 0846 0847 @x.deleter 0848 def x(self): 0849 del self._x 0850 0851 This code is exactly equivalent to the first example. Be sure to give the 0852 additional functions the same name as the original property (``x`` in this 0853 case.) 0854 0855 The returned property also has the attributes ``fget``, ``fset``, and 0856 ``fdel`` corresponding to the constructor arguments. 0857 0858 """ 0859 pass 0860 0861 def range(start,stop,step): 0862 """ 0863 This is a versatile function to create lists containing arithmetic progressions. 0864 It is most often used in :keyword:`for` loops. The arguments must be plain 0865 integers. If the *step* argument is omitted, it defaults to ``1``. If the 0866 *start* argument is omitted, it defaults to ``0``. The full form returns a list 0867 of plain integers ``[start, start + step, start + 2 * step, more]``. If *step* 0868 is positive, the last element is the largest ``start + i * step`` less than 0869 *stop*; if *step* is negative, the last element is the smallest ``start + i * 0870 step`` greater than *stop*. *step* must not be zero (or else :exc:`ValueError` 0871 is raised). Example: 0872 0873 >>> range(10) 0874 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 0875 >>> range(1, 11) 0876 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 0877 >>> range(0, 30, 5) 0878 [0, 5, 10, 15, 20, 25] 0879 >>> range(0, 10, 3) 0880 [0, 3, 6, 9] 0881 >>> range(0, -10, -1) 0882 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] 0883 >>> range(0) 0884 [] 0885 >>> range(1, 0) 0886 [] 0887 0888 0889 """ 0890 pass 0891 0892 def raw_input(prompt): 0893 """ 0894 If the *prompt* argument is present, it is written to standard output without a 0895 trailing newline. The function then reads a line from input, converts it to a 0896 string (stripping a trailing newline), and returns that. When EOF is read, 0897 :exc:`EOFError` is raised. Example:: 0898 0899 >>> s = raw_input('--> ') 0900 --> Monty Python's Flying Circus 0901 >>> s 0902 "Monty Python's Flying Circus" 0903 0904 If the :mod:`readline` module was loaded, then :func:`raw_input` will use it to 0905 provide elaborate line editing and history features. 0906 0907 0908 """ 0909 pass 0910 0911 def reduce(function,iterable,initializer): 0912 """ 0913 Apply *function* of two arguments cumulatively to the items of *iterable*, from 0914 left to right, so as to reduce the iterable to a single value. For example, 0915 ``reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])`` calculates ``((((1+2)+3)+4)+5)``. 0916 The left argument, *x*, is the accumulated value and the right argument, *y*, is 0917 the update value from the *iterable*. If the optional *initializer* is present, 0918 it is placed before the items of the iterable in the calculation, and serves as 0919 a default when the iterable is empty. If *initializer* is not given and 0920 *iterable* contains only one item, the first item is returned. 0921 0922 0923 """ 0924 pass 0925 0926 def reload(module): 0927 """ 0928 Reload a previously imported *module*. The argument must be a module object, so 0929 it must have been successfully imported before. This is useful if you have 0930 edited the module source file using an external editor and want to try out the 0931 new version without leaving the Python interpreter. The return value is the 0932 module object (the same as the *module* argument). 0933 0934 When ``reload(module)`` is executed: 0935 0936 * Python modules' code is recompiled and the module-level code reexecuted, 0937 defining a new set of objects which are bound to names in the module's 0938 dictionary. The ``init`` function of extension modules is not called a second 0939 time. 0940 0941 * As with all other objects in Python the old objects are only reclaimed after 0942 their reference counts drop to zero. 0943 0944 * The names in the module namespace are updated to point to any new or changed 0945 objects. 0946 0947 * Other references to the old objects (such as names external to the module) are 0948 not rebound to refer to the new objects and must be updated in each namespace 0949 where they occur if that is desired. 0950 0951 There are a number of other caveats: 0952 0953 If a module is syntactically correct but its initialization fails, the first 0954 :keyword:`import` statement for it does not bind its name locally, but does 0955 store a (partially initialized) module object in ``sys.modules``. To reload the 0956 module you must first :keyword:`import` it again (this will bind the name to the 0957 partially initialized module object) before you can :func:`reload` it. 0958 0959 When a module is reloaded, its dictionary (containing the module's global 0960 variables) is retained. Redefinitions of names will override the old 0961 definitions, so this is generally not a problem. If the new version of a module 0962 does not define a name that was defined by the old version, the old definition 0963 remains. This feature can be used to the module's advantage if it maintains a 0964 global table or cache of objects --- with a :keyword:`try` statement it can test 0965 for the table's presence and skip its initialization if desired:: 0966 0967 try: 0968 cache 0969 except NameError: 0970 cache = {} 0971 0972 It is legal though generally not very useful to reload built-in or dynamically 0973 loaded modules, except for :mod:`sys`, :mod:`__main__` and :mod:`__builtin__`. 0974 In many cases, however, extension modules are not designed to be initialized 0975 more than once, and may fail in arbitrary ways when reloaded. 0976 0977 If a module imports objects from another module using :keyword:`from` more 0978 :keyword:`import` more, calling :func:`reload` for the other module does not 0979 redefine the objects imported from it --- one way around this is to re-execute 0980 the :keyword:`from` statement, another is to use :keyword:`import` and qualified 0981 names (*module*.*name*) instead. 0982 0983 If a module instantiates instances of a class, reloading the module that defines 0984 the class does not affect the method definitions of the instances --- they 0985 continue to use the old class definition. The same is true for derived classes. 0986 0987 0988 """ 0989 pass 0990 0991 def repr(object): 0992 """ 0993 Return a string containing a printable representation of an object. This is 0994 the same value yielded by conversions (reverse quotes). It is sometimes 0995 useful to be able to access this operation as an ordinary function. For many 0996 types, this function makes an attempt to return a string that would yield an 0997 object with the same value when passed to :func:`eval`, otherwise the 0998 representation is a string enclosed in angle brackets that contains the name 0999 of the type of the object together with additional information often 1000 including the name and address of the object. A class can control what this 1001 function returns for its instances by defining a :meth:`__repr__` method. 1002 1003 1004 """ 1005 pass 1006 1007 def reversed(seq): 1008 """ 1009 Return a reverse :term:`iterator`. *seq* must be an object which has 1010 a :meth:`__reversed__` method or supports the sequence protocol (the 1011 :meth:`__len__` method and the :meth:`__getitem__` method with integer 1012 arguments starting at ``0``). 1013 1014 """ 1015 pass 1016 1017 def round(x,n): 1018 """ 1019 Return the floating point value *x* rounded to *n* digits after the decimal 1020 point. If *n* is omitted, it defaults to zero. The result is a floating point 1021 number. Values are rounded to the closest multiple of 10 to the power minus 1022 *n*; if two multiples are equally close, rounding is done away from 0 (so. for 1023 example, ``round(0.5)`` is ``1.0`` and ``round(-0.5)`` is ``-1.0``). 1024 1025 1026 """ 1027 pass 1028 1029 def set(iterable): 1030 """:noindex: 1031 1032 Return a new set, optionally with elements taken from *iterable*. 1033 The set type is described in :ref:`types-set`. 1034 1035 For other containers see the built in :class:`dict`, :class:`list`, and 1036 :class:`tuple` classes, and the :mod:`collections` module. 1037 1038 """ 1039 pass 1040 1041 def setattr(object,name,value): 1042 """ 1043 This is the counterpart of :func:`getattr`. The arguments are an object, a 1044 string and an arbitrary value. The string may name an existing attribute or a 1045 new attribute. The function assigns the value to the attribute, provided the 1046 object allows it. For example, ``setattr(x, 'foobar', 123)`` is equivalent to 1047 ``x.foobar = 123``. 1048 1049 1050 """ 1051 pass 1052 1053 def slice(start,stop,step): 1054 """ 1055 """ 1056 pass 1057 1058 def sorted(iterable,cmp,key,reverse): 1059 """ 1060 Return a new sorted list from the items in *iterable*. 1061 1062 The optional arguments *cmp*, *key*, and *reverse* have the same meaning as 1063 those for the :meth:`list.sort` method (described in section 1064 :ref:`typesseq-mutable`). 1065 1066 *cmp* specifies a custom comparison function of two arguments (iterable 1067 elements) which should return a negative, zero or positive number depending on 1068 whether the first argument is considered smaller than, equal to, or larger than 1069 the second argument: ``cmp=lambda x,y: cmp(x.lower(), y.lower())``. The default 1070 value is ``None``. 1071 1072 *key* specifies a function of one argument that is used to extract a comparison 1073 key from each list element: ``key=str.lower``. The default value is ``None`` 1074 (compare the elements directly). 1075 1076 *reverse* is a boolean value. If set to ``True``, then the list elements are 1077 sorted as if each comparison were reversed. 1078 1079 In general, the *key* and *reverse* conversion processes are much faster 1080 than specifying an equivalent *cmp* function. This is because *cmp* is 1081 called multiple times for each list element while *key* and *reverse* touch 1082 each element only once. Use :func:`functools.cmp_to_key` to convert an 1083 old-style *cmp* function to a *key* function. 1084 1085 For sorting examples and a brief sorting tutorial, see `Sorting HowTo 1086 <http://wiki.python.org/moin/HowTo/Sorting/>`_\. 1087 1088 """ 1089 pass 1090 1091 def staticmethod(function): 1092 """ 1093 Return a static method for *function*. 1094 1095 A static method does not receive an implicit first argument. To declare a static 1096 method, use this idiom:: 1097 1098 class C: 1099 @staticmethod 1100 def f(arg1, arg2, more): more 1101 1102 The ``@staticmethod`` form is a function :term:`decorator` -- see the 1103 description of function definitions in :ref:`function` for details. 1104 1105 It can be called either on the class (such as ``C.f()``) or on an instance (such 1106 as ``C().f()``). The instance is ignored except for its class. 1107 1108 Static methods in Python are similar to those found in Java or C++. For a more 1109 advanced concept, see :func:`classmethod` in this section. 1110 1111 For more information on static methods, consult the documentation on the 1112 standard type hierarchy in :ref:`types`. 1113 1114 """ 1115 pass 1116 1117 def str(object): 1118 """ 1119 Return a string containing a nicely printable representation of an object. For 1120 strings, this returns the string itself. The difference with ``repr(object)`` 1121 is that ``str(object)`` does not always attempt to return a string that is 1122 acceptable to :func:`eval`; its goal is to return a printable string. If no 1123 argument is given, returns the empty string, ``''``. 1124 1125 For more information on strings see :ref:`typesseq` which describes sequence 1126 functionality (strings are sequences), and also the string-specific methods 1127 described in the :ref:`string-methods` section. To output formatted strings 1128 use template strings or the ``%`` operator described in the 1129 :ref:`string-formatting` section. In addition see the :ref:`stringservices` 1130 section. See also :func:`unicode`. 1131 1132 1133 """ 1134 pass 1135 1136 def sum(iterable,start): 1137 """ 1138 Sums *start* and the items of an *iterable* from left to right and returns the 1139 total. *start* defaults to ``0``. The *iterable*'s items are normally numbers, 1140 and the start value is not allowed to be a string. 1141 1142 For some use cases, there are good alternatives to :func:`sum`. 1143 The preferred, fast way to concatenate a sequence of strings is by calling 1144 ``''.join(sequence)``. To add floating point values with extended precision, 1145 see :func:`math.fsum`\. To concatenate a series of iterables, consider using 1146 :func:`itertools.chain`. 1147 1148 """ 1149 pass 1150 1151 def super(type,object_or_type): 1152 """ 1153 Return a proxy object that delegates method calls to a parent or sibling 1154 class of *type*. This is useful for accessing inherited methods that have 1155 been overridden in a class. The search order is same as that used by 1156 :func:`getattr` except that the *type* itself is skipped. 1157 1158 The :attr:`__mro__` attribute of the *type* lists the method resolution 1159 search order used by both :func:`getattr` and :func:`super`. The attribute 1160 is dynamic and can change whenever the inheritance hierarchy is updated. 1161 1162 If the second argument is omitted, the super object returned is unbound. If 1163 the second argument is an object, ``isinstance(obj, type)`` must be true. If 1164 the second argument is a type, ``issubclass(type2, type)`` must be true (this 1165 is useful for classmethods). 1166 1167 """ 1168 pass 1169 1170 def tuple(iterable): 1171 """ 1172 Return a tuple whose items are the same and in the same order as *iterable*'s 1173 items. *iterable* may be a sequence, a container that supports iteration, or an 1174 iterator object. If *iterable* is already a tuple, it is returned unchanged. 1175 For instance, ``tuple('abc')`` returns ``('a', 'b', 'c')`` and ``tuple([1, 2, 1176 3])`` returns ``(1, 2, 3)``. If no argument is given, returns a new empty 1177 tuple, ``()``. 1178 1179 :class:`tuple` is an immutable sequence type, as documented in 1180 :ref:`typesseq`. For other containers see the built in :class:`dict`, 1181 :class:`list`, and :class:`set` classes, and the :mod:`collections` module. 1182 1183 1184 """ 1185 pass 1186 1187 def type(object): 1188 """ 1189 """ 1190 pass 1191 1192 def type(name,bases,dict): 1193 """:noindex: 1194 1195 Return a new type object. This is essentially a dynamic form of the 1196 :keyword:`class` statement. The *name* string is the class name and becomes the 1197 :attr:`__name__` attribute; the *bases* tuple itemizes the base classes and 1198 becomes the :attr:`__bases__` attribute; and the *dict* dictionary is the 1199 namespace containing definitions for class body and becomes the :attr:`__dict__` 1200 attribute. For example, the following two statements create identical 1201 :class:`type` objects: 1202 1203 >>> class X(object): 1204 more a = 1 1205 more 1206 >>> X = type('X', (object,), dict(a=1)) 1207 1208 """ 1209 pass 1210 1211 def unichr(i): 1212 """ 1213 Return the Unicode string of one character whose Unicode code is the integer 1214 *i*. For example, ``unichr(97)`` returns the string ``u'a'``. This is the 1215 inverse of :func:`ord` for Unicode strings. The valid range for the argument 1216 depends how Python was configured -- it may be either UCS2 [0..0xFFFF] or UCS4 1217 [0..0x10FFFF]. :exc:`ValueError` is raised otherwise. For ASCII and 8-bit 1218 strings see :func:`chr`. 1219 1220 """ 1221 pass 1222 1223 def unicode(object,encoding,errors): 1224 """ 1225 Return the Unicode string version of *object* using one of the following modes: 1226 1227 If *encoding* and/or *errors* are given, ``unicode()`` will decode the object 1228 which can either be an 8-bit string or a character buffer using the codec for 1229 *encoding*. The *encoding* parameter is a string giving the name of an encoding; 1230 if the encoding is not known, :exc:`LookupError` is raised. Error handling is 1231 done according to *errors*; this specifies the treatment of characters which are 1232 invalid in the input encoding. If *errors* is ``'strict'`` (the default), a 1233 :exc:`ValueError` is raised on errors, while a value of ``'ignore'`` causes 1234 errors to be silently ignored, and a value of ``'replace'`` causes the official 1235 Unicode replacement character, ``U+FFFD``, to be used to replace input 1236 characters which cannot be decoded. See also the :mod:`codecs` module. 1237 1238 If no optional parameters are given, ``unicode()`` will mimic the behaviour of 1239 ``str()`` except that it returns Unicode strings instead of 8-bit strings. More 1240 precisely, if *object* is a Unicode string or subclass it will return that 1241 Unicode string without any additional decoding applied. 1242 1243 For objects which provide a :meth:`__unicode__` method, it will call this method 1244 without arguments to create a Unicode string. For all other objects, the 8-bit 1245 string version or representation is requested and then converted to a Unicode 1246 string using the codec for the default encoding in ``'strict'`` mode. 1247 1248 For more information on Unicode strings see :ref:`typesseq` which describes 1249 sequence functionality (Unicode strings are sequences), and also the 1250 string-specific methods described in the :ref:`string-methods` section. To 1251 output formatted strings use template strings or the ``%`` operator described 1252 in the :ref:`string-formatting` section. In addition see the 1253 :ref:`stringservices` section. See also :func:`str`. 1254 1255 """ 1256 pass 1257 1258 def vars(object): 1259 """ 1260 Without an argument, act like :func:`locals`. 1261 1262 With a module, class or class instance object as argument (or anything else that 1263 has a :attr:`__dict__` attribute), return that attribute. 1264 1265 """ 1266 pass 1267 1268 def xrange(start,stop,step): 1269 """ 1270 This function is very similar to :func:`range`, but returns an "xrange object" 1271 instead of a list. This is an opaque sequence type which yields the same values 1272 as the corresponding list, without actually storing them all simultaneously. 1273 The advantage of :func:`xrange` over :func:`range` is minimal (since 1274 :func:`xrange` still has to create the values when asked for them) except when a 1275 very large range is used on a memory-starved machine or when all of the range's 1276 elements are never used (such as when the loop is usually terminated with 1277 :keyword:`break`). 1278 1279 """ 1280 pass 1281 1282 def zip(iterable,more): 1283 """ 1284 This function returns a list of tuples, where the *i*-th tuple contains the 1285 *i*-th element from each of the argument sequences or iterables. The returned 1286 list is truncated in length to the length of the shortest argument sequence. 1287 When there are multiple arguments which are all of the same length, :func:`zip` 1288 is similar to :func:`map` with an initial argument of ``None``. With a single 1289 sequence argument, it returns a list of 1-tuples. With no arguments, it returns 1290 an empty list. 1291 1292 The left-to-right evaluation order of the iterables is guaranteed. This 1293 makes possible an idiom for clustering a data series into n-length groups 1294 using ``zip(*[iter(s)]*n)``. 1295 1296 :func:`zip` in conjunction with the ``*`` operator can be used to unzip a 1297 list:: 1298 1299 >>> x = [1, 2, 3] 1300 >>> y = [4, 5, 6] 1301 >>> zipped = zip(x, y) 1302 >>> zipped 1303 [(1, 4), (2, 5), (3, 6)] 1304 >>> x2, y2 = zip(*zipped) 1305 >>> x == list(x2) and y == list(y2) 1306 True 1307 1308 """ 1309 pass 1310 1311 def __import__(name,globals,locals,_fromlist,level): 1312 """ 1313 """ 1314 pass 1315 1316 def apply(function,args,keywords): 1317 """ 1318 The *function* argument must be a callable object (a user-defined or built-in 1319 function or method, or a class object) and the *args* argument must be a 1320 sequence. The *function* is called with *args* as the argument list; the number 1321 of arguments is the length of the tuple. If the optional *keywords* argument is 1322 present, it must be a dictionary whose keys are strings. It specifies keyword 1323 arguments to be added to the end of the argument list. Calling :func:`apply` is 1324 different from just calling ``function(args)``, since in that case there is 1325 always exactly one argument. The use of :func:`apply` is equivalent to 1326 ``function(*args, **keywords)``. 1327 1328 """ 1329 pass 1330 1331 def buffer(object,offset,size): 1332 """ 1333 The *object* argument must be an object that supports the buffer call interface 1334 (such as strings, arrays, and buffers). A new buffer object will be created 1335 which references the *object* argument. The buffer object will be a slice from 1336 the beginning of *object* (or from the specified *offset*). The slice will 1337 extend to the end of *object* (or will have a length given by the *size* 1338 argument). 1339 1340 1341 """ 1342 pass 1343 1344 def coerce(x,y): 1345 """ 1346 Return a tuple consisting of the two numeric arguments converted to a common 1347 type, using the same rules as used by arithmetic operations. If coercion is not 1348 possible, raise :exc:`TypeError`. 1349 1350 1351 """ 1352 pass 1353 1354 def intern(string): 1355 """ 1356 Enter *string* in the table of "interned" strings and return the interned string 1357 -- which is *string* itself or a copy. Interning strings is useful to gain a 1358 little performance on dictionary lookup -- if the keys in a dictionary are 1359 interned, and the lookup key is interned, the key comparisons (after hashing) 1360 can be done by a pointer compare instead of a string compare. Normally, the 1361 names used in Python programs are automatically interned, and the dictionaries 1362 used to hold module, class or instance attributes have interned keys. 1363 1364 """ 1365 pass 1366