# Wbudowane funkcje

Interpreter Pythona ma wbudowane wiele funkcji i typów, które zawsze są dostępne. Spisane są tutaj w kolejności alfabetycznej.

Wbudowane funkcje

A
`abs()`
`aiter()`
`all()`
`any()`
`anext()`
`ascii()`
B
`bin()`
`bool()`
`breakpoint()`
`bytearray()`
`bytes()`
C
`callable()`
`chr()`
`classmethod()`
`compile()`
`complex()`
D
`delattr()`
`dict()`
`dir()`
`divmod()`

E
`enumerate()`
`eval()`
`exec()`
F
`filter()`
`float()`
`format()`
`frozenset()`
G
`getattr()`
`globals()`
H
`hasattr()`
`hash()`
`help()`
`hex()`
I
`id()`
`input()`
`int()`
`isinstance()`
`issubclass()`
`iter()`

L
`len()`
`list()`
`locals()`
M
`map()`
`max()`
`memoryview()`
`min()`
N
`next()`
O
`object()`
`oct()`
`open()`
`ord()`
P
`pow()`
`print()`
`property()`

R
`range()`
`repr()`
`reversed()`
`round()`
S
`set()`
`setattr()`
`slice()`
`sorted()`
`staticmethod()`
`str()`
`sum()`
`super()`
T
`tuple()`
`type()`
V
`vars()`
Z
`zip()`
_
`__import__()`

`abs`(x)

  Zwraca wartość bezwzględną liczby. Argument może być liczbą całkowitą, zmiennoprzecinkową lub obiektem implementującym `__abs__()`. Jeśli argument jest liczbą zespoloną, zwracany jest jej moduł.

`aiter`(async_iterable)

  Zwraca asynchroniczny iterator dla asynchronicznego iterable’a. Ekwiwalent wywołania `x.__aiter__()`.

  Uwaga: W przeciwieństwie do `iter()`, `aiter()` nie ma dwuargumentowego wariantu.

  Nowe w wersji 3.10.

`all`(iterable)

  Zwraca `True` jeśli wszystkie elementy iterable’a są prawdziwe (lub jeśli iterable jest pusty). Ekwiwalent kodu:

      def all(iterable):
          for element in iterable:
              if not element:
                  return False
          return True

awaitable `anext`(async_iterator[, default])

  W przypadku oczekiwania zwraca następny element z podanego asynchronicznego iteratora lub wartość default, jeżeli jest ona podana, a iterator został wyczerpany.

  Jest to asynchroniczny wariant wbudowanej funkcji `next()` i zachowuje się podobnie.

  Wywołuje on metodę `__anext__()` async_iteratora, zwracając awaitable. Oczekiwanie zwraca następną wartość iteratora. Jeśli podano wartość default, jest ona zwracana, jeśli iterator zostanie wyczerpany, w przeciwnym razie zostanie podniesiony wyjątek `StopAsyncIteration`.

  Nowe w wersji 3.10.

`any`(iterable)

  Zwraca `True` jeśli jakikolwiek element iterable’a jest prawdziwy. Jeśli iterable jest pusty, zwraca `False`. Ekwiwalent kodu:

      def any(iterable):
          for element in iterable:
              if element:
                  return True
          return False

`ascii`(object)

  Tak jak `repr()`, zwraca ciąg znaków zawierający reprezentację obiektu, ale wypisuje znaki nie-ASCII w zwracanym przez `repr()` ciągu przy użyciu escape’ów `\x`, `\u` lub `\U`. Generuje ciąg znaków podobny do tego zwracanego przez `repr()` w Pythonie 2.

`bin`(x)

  Konwertuje liczbę całkowitą do binarnego ciągu znaków z prefiksem „0b”. Wynik jest poprawnym wyrażeniem Pythona. Jeśli x nie jest pythonowym obiektem `int`, musi definiować metodę `__index__()`, która zwraca liczbę całkowitą. Kilka przykładów:

      >>> bin(3)
      '0b11'
      >>> bin(-10)
      '-0b1010'

  Jeśli prefiks „0b” nie jest pożądany, możesz użyć któregoś z poniższych sposobów.

      >>> format(14, '#b'), format(14, 'b')
      ('0b1110', '1110')
      >>> f'{14:#b}', f'{14:b}'
      ('0b1110', '1110')

  Zobacz też `format()` by uzyskać więcej informacji.

class `bool`([x])

  Return a Boolean value, i.e. one of `True` or `False`. x is converted using the standard truth testing procedure. If x is false or omitted, this returns `False`; otherwise, it returns `True`. The `bool` class is a subclass of `int` (see Numeric Types — int, float, complex). It cannot be subclassed further. Its only instances are `False` and `True` (see Boolean Values).

  Zmienione w wersji 3.7: x jest teraz parametrem positional-only.

`breakpoint`(*args, **kws)

  This function drops you into the debugger at the call site. Specifically, it calls `sys.breakpointhook()`, passing `args` and `kws` straight through. By default, `sys.breakpointhook()` calls `pdb.set_trace()` expecting no arguments. In this case, it is purely a convenience function so you don’t have to explicitly import `pdb` or type as much code to enter the debugger. However, `sys.breakpointhook()` can be set to some other function and `breakpoint()` will automatically call that, allowing you to drop into the debugger of choice. If `sys.breakpointhook()` is not accessible, this function will raise `RuntimeError`.

  Rzuca auditing event `builtins.breakpoint` z argumentem `breakpointhook`.

  Nowe w wersji 3.7.

class `bytearray`([source[, encoding[, errors]]])

  Zwraca nową tablicę bajtów. Klasa `bytearray` jest mutowalną sekwencją liczb całkowitych w zakresie 0 <= x < 256. Ma większość metod mutowalnych sekwencji, opisanych w Mutable Sequence Types, jak również większość metod, które ma typ `bytes`, patrz Bytes and Bytearray Operations.

  Opcjonalny parametr source może być użyty do inicjalizacji tablicy na kilka różnych sposobów:

  - Jeśli jest stringiem, musisz podać również parametr encoding (i opcjonalnie errors); `bytearray()` konwertuje string na bajty używając `str.encode()`.

  - Jeśli jest liczbą całkowitą, tablica będzie miała taki rozmiar i będzie zainicjowana bajtami zerowymi.

  - Jeśli jest to obiekt spełniający interfejs bufora, bufor tylko-do-odczytu obiektu zostanie użyty do zainicjowania tablicy bajtów.

  - Jeśli jest iterablem, musi być iterablem składającym się z liczb całkowitych w zakresie `0 <= x < 256`, które są użyte do zainicjowania tablicy.

  Bez argumentu tworzona jest tablica o rozmiarze 0.

  Zobacz też Binary Sequence Types — bytes, bytearray, memoryview i Bytearray Objects.

class `bytes`([source[, encoding[, errors]]])

  Zwraca nowy obiekt „bajtów”, który jest niemutowalną sekwencją liczb całkowitych z zakresu `0 <= x < 256`. `bytes` jest niemutowalną wersją `bytearray` – ma te same niemutujące metody i to samo zachowanie indeksowania i slice’owania.

  Argumenty konstruktora są interpretowane tak jak dla `bytearray()`.

  Obiekty bytes mogą być również tworzone z literałami, patrz String and Bytes literals.

  Zobacz też Binary Sequence Types — bytes, bytearray, memoryview, Bytes Objects i Bytes and Bytearray Operations.

`callable`(object)

  Zwraca `True` jeśli argument object jest wywoływalny; `False` jeśli nie. Jeśli zwraca `True`, wciąż możliwe jest, że wywołanie się nie powiedzie, ale jeśli jest `False`, wywołanie obiektu nie powiedzie się nigdy. Zwróć uwagę, że klasy są wywoływalne (wywołanie klasy zwraca nową instancję); instancje są wywoływalne, jeśli ich klasy mają metodę `__call__()`.

  Nowe w wersji 3.2: Ta funkcja była wpierw usunięta w Pythonie 3.0 a następnie przywrócona w Pythonie 3.2.

`chr`(i)

  Zwraca ciąg znaków reprezentujący znak, którego punktem kodowym Unicode jest liczba całkowita i. Na przykład `chr(97)` zwraca ciąg znaków `'a'`, a `chr(8364)` zwraca ciąg `'€'`. Jest odwrotnością `ord()`.

  Poprawnym zakresem argumentu są wartości od 0 do 1 114 111 (0x10FFFF w systemie szesnastkowym). Dla i poza tym zakresem zostanie rzucony `ValueError`.

`@``classmethod`

  Przekształca metodę w metodę klasową.

  Metoda klasowa otrzymuje klasę jako niejawny pierwszy argument, podobnie jak metoda instancji otrzymuje instancję. Aby zadeklarować metodę klasową, użyj tego idiomu:

      class C:
          @classmethod
          def f(cls, arg1, arg2): ...

  Forma `@classmethod` jest dekoratorem funkcji – szczegóły znajdziesz w Function definitions.

  Metoda klasowa może być wywoływana albo na klasie (na przykład `C.f()`) albo na instancji (na przykład `C().f()`). Instancja jest ignorowana, brana jest pod uwagę tylko jej klasa. Jeśli metoda klasowa jest wywołana dla klasy dziedziczącej, obiekt klasy dziedziczącej jest przekazywany jako pierwszy argument.

  Metody klasowe różnią się od statycznych metod C++ lub Javy. Jeśli chcesz takie, sprawdź `staticmethod()` w tej sekcji. Więcej informacji o metodach klasowych znajdziesz w The standard type hierarchy.

  Zmienione w wersji 3.9: Metody klasowe mogą teraz opakowywać inne deskryptory, takie jak `property()`.

  Zmienione w wersji 3.10: Class methods now inherit the method attributes (`__module__`, `__name__`, `__qualname__`, `__doc__` and `__annotations__`) and have a new `__wrapped__` attribute.

`compile`(source, filename, mode, flags=0, dont_inherit=False, optimize=- 1)

  Kompiluje source do obiektu kodu lub obiektu AST. Obiekty kodu mogą wyć wykonywane przy użyciu `exec()` lub `eval()`. source może być zwykłym ciągiem znaków, ciągiem bajtów lub obiektem AST. W dokumentacji modułu `ast` znajdziesz informacje o tym jak pracować z obiektami AST.

  Argument filename powinien dawać plik, z którego kod został przeczytany; przekaż jakąś rozpoznawalną wartość, jeśli nie został przeczytany z pliku (często używa się `'<string>'`).

  Argument mode określa, jaki rodzaj kodu ma zostać skompilowany; może mieć wartość `'exec'` jeśli source składa się z sekwencji instrukcji, `'eval'` jeśli składa się z jednego wyrażenia lub `'single'` jeśli składa się z jednej interaktywnej instrukcji (w ostatnim przypadku, instrukcje wyrażeń, które ewaluują się do czegoś innego niż `None`, zostaną wydrukowane na standardowe wyjście).

  Opcjonalne argumenty flags i dont_inherit kontrolują, które opcje kompilatora powinny być aktywowane i które przyszłe funkcje powinne być dozwolone. Jeśli żaden z nich nie jest obecny (lub oba są zerowe), kod jest kompilowany z tymi samymi flagami, które wpływają na kod wywołujący `compile()`. Jeśli argument flags jest podany, a dont_inherit nie jest (lub wynosi zero), to opcje kompilatora i przyszłe instrukcje określone przez argument flags są używane w dodatku do tych, które i tak byłyby użyte. Jeśli dont_inherit jest niezerową liczbą całkowitą, to argument flags jest nim – flagi (przyszłe funkcje i opcje kompilatora) w otaczającym kodzie są ignorowane.

  Opcje kompilatora i przyszłe instrukcja są określone przez bity, które mogą być łączone bitowo w celu określenia wielu opcji. Pole bitowe wymagane do określenia danej przyszłej funkcji można znaleźć jako `compiler_flag` atrybut na instancji `_Feature` w module `__future__` . Flagi kompilatora można znaleźć w module `ast` , z prefiksem `PyCF_`.

  Wartość argumentu optimize określa poziom optymalizacji kompilatora; wartość domyślna `-1` wybiera poziom optymalizacji interpretera podany przez opcje `-O`. Wyraźne poziomy to `0` (brak optymalizacji; `__debug__` to prawda), `1` (asercje są usuwane, `__debug__` to fałsz) lub `2` (docstrings są również usuwane).

  To funkcja rzuci `SyntaxError` jeśli skompilowane źródło jest nieprawidłowe, a `ValueError` jeśli źródło zawiera bajty null.

  Jeśli chcesz przeanalizować kod Python do jego reprezentacji AST, zobacz `ast.parse()`.

  Rzuci zdarzenie auditing `compile` z argumentem `source` i `filename`. To zdarzenie może być również rzucone przez niejawną kompilację.

  Informacja

  Podczas kompilacji napisem z kodem wielowierszowym w trybie `'single'` lub `'eval'`, dane wejściowe muszą być zakończone co najmniej jedną znak nowej lini. Ma to na celu ułatwienie wykrywania niekompletnych i kompletnych instrukcja w module `code` .

  Ostrzeżenie

  Możliwe jest zawieszenie interpretera Python z wystarczająco dużym/złożonym napisem podczas kompilacji do obiektu AST z powodu ograniczeń głębokości stosu w kompilatorze AST Python.

  Zmienione w wersji 3.2: Zezwolono na używanie nowej linii w systemach Windows i Mac. Ponadto wprowadzanie danych w trybie `'exec'` nie musi już kończyć się nową linią. Dodano funkcję optimize parametr.

  Zmienione w wersji 3.5: Poprzednio, `TypeError` został rzucony gdy napotkano bajty null w source.

  Nowe w wersji 3.8: `ast.PyCF_ALLOW_TOP_LEVEL_AWAIT` można teraz przekazywać we flagach, aby włączyć obsługę najwyższego poziomu `await`, `async for` i `async with`.

class `complex`([real[, imag]])

  Return a complex number with the value real + imag*1j or convert a string or number to a complex number. If the first parameter is a string, it will be interpreted as a complex number and the function must be called without a second parameter. The second parameter can never be a string. Each argument may be any numeric type (including complex). If imag is omitted, it defaults to zero and the constructor serves as a numeric conversion like `int` and `float`. If both arguments are omitted, returns `0j`.

  For a general Python object `x`, `complex(x)` delegates to `x.__complex__()`. If `__complex__()` is not defined then it falls back to `__float__()`. If `__float__()` is not defined then it falls back to `__index__()`.

  Informacja

  When converting from a string, the string must not contain whitespace around the central `+` or `-` operator. For example, `complex('1+2j')` is fine, but `complex('1 + 2j')` raises `ValueError`.

  Typ Complex został opisany na stronie Numeric Types — int, float, complex.

  Zmienione w wersji 3.6: Dozwolone jest grupowanie cyfr za pomocą podkreślników, tak jak w literałach kodu.

  Zmienione w wersji 3.8: Falls back to `__index__()` if `__complex__()` and `__float__()` are not defined.

`delattr`(object, name)

  Jest to krewny `setattr()`. Argumenty są obiektem i napisem. Napis musi być nazwą jednego z atrybut obiektu. Funkcja usuwa nazwany atrybut, pod warunkiem, że obiekt na to pozwala. Na przykład, `delattr(x, 'foobar')` jest równoważne `del x.foobar`. name nie musi być identyfikatorem Python (zobacz `setattr()`).

class `dict`(**kwarg)
class `dict`(mapping, **kwarg)
class `dict`(iterable, **kwarg)

  Utwórz nowy słownik. Obiekt `dict` jest klasą słownik. Dokumentacja dotycząca tej klasy znajduje się na stronach `dict` i Mapping Types — dict.

  Inne kontenery można znaleźć w klasach wbudowanych `list` , `set` i `tuple`, a także moduł `collections` .

`dir`([object])

  Bez argumentow, zwraca listę nazw w bieżącym zakresie lokalnym. Z argumentów, próba zwraca listy prawidłowych atrybut dla tego obiektu.

  If the object has a method named `__dir__()`, this method will be called and must return the list of attributes. This allows objects that implement a custom `__getattr__()` or `__getattribute__()` function to customize the way `dir()` reports their attributes.

  If the object does not provide `__dir__()`, the function tries its best to gather information from the object’s `__dict__` attribute, if defined, and from its type object. The resulting list is not necessarily complete and may be inaccurate when the object has a custom `__getattr__()`.

  Mechanizm domyślny `dir()` zachowuje się inaczej w przypadku różnych typów obiektów, ponieważ stara się uzyskać najbardziej istotne, a nie kompletne informacje:

  - Jeśli obiekt jest obiektem moduł, lista zawiera nazwy obiektów moduł atrybutow.

  - Jeśli obiekt jest obiektem typu lub klasy, lista zawiera nazwy jego atrybut i rekurencyjnie atrybut jego baz.

  - W przeciwnym razie lista zawiera nazwy atrybut» obiektow, nazwy atrybut jego klasy i rekurencyjnie atrybut klas bazowych jego klasy.

  Wynikowa lista jest posortowana alfabetycznie. Na przykład:

      >>> import struct
      >>> dir()   # show the names in the module namespace
      ['__builtins__', '__name__', 'struct']
      >>> dir(struct)   # show the names in the struct module
      ['Struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__',
       '__initializing__', '__loader__', '__name__', '__package__',
       '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
       'unpack', 'unpack_from']
      >>> class Shape:
      ...     def __dir__(self):
      ...         return ['area', 'perimeter', 'location']
      >>> s = Shape()
      >>> dir(s)
      ['area', 'location', 'perimeter']

  Informacja

  Ponieważ `dir()` jest dostarczany głównie jako udogodnienie do użycia w interaktywnym wierszu polecenia, stara się dostarczyć interesujący zestaw nazw bardziej niż rygorystycznie lub konsekwentnie zdefiniowany zestaw nazw, a jego szczegółowy zachowanie może się zmieniać w różnych wydaniach. Na przykład, atrybut metaklasy nie znajduje się na liście wyników, gdy argument jest klasą.

`divmod`(a, b)

  Take two (non-complex) numbers as arguments and return a pair of numbers consisting of their quotient and remainder when using integer division. With mixed operand types, the rules for binary arithmetic operators apply. For integers, the result is the same as `(a // b, a % b)`. For floating point numbers the result is `(q, a % b)`, where q is usually `math.floor(a / b)` but may be 1 less than that. In any case `q * b + a % b` is very close to a, if `a % b` is non-zero it has the same sign as b, and `0 <= abs(a % b) < abs(b)`.

`enumerate`(iterable, start=0)

  Zwraca obiekt wyliczeniowy. iterable musi być sekwencją, iteratorem lub innym obiektem obsługującym iterację. Metoda `__next__()` iteratora zwróconego przez `enumerate()` zwraca dwukrotkę zawierającą licznik (od start, który domyślnie wynosi 0) i wartości uzyskane z iteracji na argumencie iterable.

      >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
      >>> list(enumerate(seasons))
      [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
      >>> list(enumerate(seasons, start=1))
      [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

  Odpowiednik:

      def enumerate(sequence, start=0):
          n = start
          for elem in sequence:
              yield n, elem
              n += 1

`eval`(expression[, globals[, locals]])

  The arguments are a string and optional globals and locals. If provided, globals must be a dictionary. If provided, locals can be any mapping object.

  The expression argument is parsed and evaluated as a Python expression (technically speaking, a condition list) using the globals and locals dictionaries as global and local namespace. If the globals dictionary is present and does not contain a value for the key `__builtins__`, a reference to the dictionary of the built-in module `builtins` is inserted under that key before expression is parsed. That way you can control what builtins are available to the executed code by inserting your own `__builtins__` dictionary into globals before passing it to `eval()`. If the locals dictionary is omitted it defaults to the globals dictionary. If both dictionaries are omitted, the expression is executed with the globals and locals in the environment where `eval()` is called. Note, eval() does not have access to the nested scopes (non-locals) in the enclosing environment.

  The return value is the result of the evaluated expression. Syntax errors are reported as exceptions. Example:

      >>> x = 1
      >>> eval('x+1')
      2

  Ta funkcja może być również używana do wykonywania dowolnych obiektów kodu (takich jak te utworzone przez `compile()`). W tym przypadku należy przekazać obiekt kodu zamiast napisu. Jeśli obiekt kodu został skompilowany z `'exec'` jako mode argument, `eval()` wartością zwracana będzie `None`.

  Wskazówki: dynamiczne wykonywanie instrukcji jest obsługiwane przez `exec()` funkcja . Adresy `globals()` i `locals()` funkcje zwracaja określaaą odpowiednio bieżący globalny i lokalny adres słownika, który może być przydatny do przekazania do użycia przez adresy `eval()` lub `exec()`.

  Jeśli podane źródło to napis, początkowe i końcowe spacje i tabulatory są usuwane.

  Zobacz `ast.literal_eval()` dla funkcj, którya może bezpiecznie ocenić napis z wyrażeniami zawierającymi tylko literały.

  Rzuci zdarzenie auditing event `exec` z obiektem kodu jako argument. Zdarzenia kompilacji kodu mogą być również rzucone.

`exec`(object[, globals[, locals]])

  This function supports dynamic execution of Python code. object must be either a string or a code object. If it is a string, the string is parsed as a suite of Python statements which is then executed (unless a syntax error occurs). 1 If it is a code object, it is simply executed. In all cases, the code that’s executed is expected to be valid as file input (see the section File input in the Reference Manual). Be aware that the `nonlocal`, `yield`, and `return` statements may not be used outside of function definitions even within the context of code passed to the `exec()` function. The return value is `None`.

  In all cases, if the optional parts are omitted, the code is executed in the current scope. If only globals is provided, it must be a dictionary (and not a subclass of dictionary), which will be used for both the global and the local variables. If globals and locals are given, they are used for the global and local variables, respectively. If provided, locals can be any mapping object. Remember that at the module level, globals and locals are the same dictionary. If exec gets two separate objects as globals and locals, the code will be executed as if it were embedded in a class definition.

  Jeśli globals słownik nie zawiera wartości dla klucza `__builtins__`, odwołanie do słownika z wbudowanego modułu `builtins` jest wstawiane pod tym kluczem. W ten sposób można kontrolować, które wbudowane są dostępne dla wykonywanego kodu, wstawiając własny `__builtins__` słownik do globals przed przekazaniem go do `exec()`.

  Rzuci zdarzenie auditing event `exec` z obiektem kodu jako argument. Zdarzenia kompilacji kodu mogą być również rzucone.

  Informacja

  The built-in functions `globals()` and `locals()` return the current global and local dictionary, respectively, which may be useful to pass around for use as the second and third argument to `exec()`.

  Informacja

  The default locals act as described for function `locals()` below: modifications to the default locals dictionary should not be attempted. Pass an explicit locals dictionary if you need to see effects of the code on locals after function `exec()` returns.

`filter`(function, iterable)

  Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is `None`, the identity function is assumed, that is, all elements of iterable that are false are removed.

  Należy zauważyć, że `filter(function, iterable)` jest równoważne wyrażeniu generator `(item for item in iterable if function(item))` jeśli funkcja nie jest `None` i `(item for item in iterable if item)` jeśli funkcja jest `None`.

  See `itertools.filterfalse()` for the complementary function that returns elements of iterable for which function returns false.

class `float`([x])

  Return a floating point number constructed from a number or string x.

  If the argument is a string, it should contain a decimal number, optionally preceded by a sign, and optionally embedded in whitespace. The optional sign may be `'+'` or `'-'`; a `'+'` sign has no effect on the value produced. The argument may also be a string representing a NaN (not-a-number), or positive or negative infinity. More precisely, the input must conform to the `floatvalue` production rule in the following grammar, after leading and trailing whitespace characters are removed:

      sign        ::=  "+" | "-"
      infinity    ::=  "Infinity" | "inf"
      nan         ::=  "nan"
      digitpart   ::=  digit (["_"] digit)*
      number      ::=  [digitpart] "." digitpart | digitpart ["."]
      exponent    ::=  ("e" | "E") ["+" | "-"] digitpart
      floatnumber ::=  number [exponent]
      floatvalue  ::=  [sign] (floatnumber | infinity | nan)

  Here `digit` is a Unicode decimal digit (character in the Unicode general category `Nd`). Case is not significant, so, for example, „inf”, „Inf”, „INFINITY”, and „iNfINity” are all acceptable spellings for positive infinity.

  Otherwise, if the argument is an integer or a floating point number, a floating point number with the same value (within Python’s floating point precision) is returned. If the argument is outside the range of a Python float, an `OverflowError` will be raised.

  For a general Python object `x`, `float(x)` delegates to `x.__float__()`. If `__float__()` is not defined then it falls back to `__index__()`.

  Jeśli nie podano argumentu, zwracane jest `0.0`.

  Przykłady:

      >>> float('+1.23')
      1.23
      >>> float('   -12345\n')
      -12345.0
      >>> float('1e-003')
      0.001
      >>> float('+1E6')
      1000000.0
      >>> float('-Infinity')
      -inf

  Typ float został opisany na stronie Numeric Types — int, float, complex.

  Zmienione w wersji 3.6: Dozwolone jest grupowanie cyfr za pomocą podkreślników, tak jak w literałach kodu.

  Zmienione w wersji 3.7: x jest teraz parametrem positional-only.

  Zmienione w wersji 3.8: Falls back to `__index__()` if `__float__()` is not defined.

`format`(value[, format_spec])

  Konwertuje value na „formatted” reprezentację, kontrolowaną przez format_spec. Interpretacja format_spec będzie zależeć od typu value argument; jednak istnieje standardowa składnia formatowania, która jest używana przez większość typów wbudowanych: Format Specification Mini-Language.

  Parametr domyślny format_spec jest pustym napisem, co zwykle daje taki sam efekt jak wywołanie `str(value)`.

  A call to `format(value, format_spec)` is translated to `type(value).__format__(value, format_spec)` which bypasses the instance dictionary when searching for the value’s `__format__()` method. A `TypeError` exception is raised if the method search reaches `object` and the format_spec is non-empty, or if either the format_spec or the return value are not strings.

  Zmienione w wersji 3.4: `object().__format__(format_spec)` rzuci `TypeError` jeśli format_spec nie jest pustym napisem.

class `frozenset`([iterable])

  Zwraca nowy obiekt `frozenset`, opcjonalnie z elementami pobranymi z iterable. `frozenset` jest klasą wbudowaną. Dokumentacja dotycząca tej klasy znajduje się na stronach `frozenset` i Set Types — set, frozenset.

  Dla innych kontenerów zobacz klasy wbudowane `set` , `list`, `tuple` i `dict`, jak również moduł `collections` .

`getattr`(object, name[, default])

  Zwraca wartość nazwanego atrybut obiektu object. name musi być napisem. Jeśli napis jest nazwą jednego z atrybut obiektu, wynikiem jest wartość tego atrybutu. Na przykład, `getattr(x, 'foobar')` jest równoważne `x.foobar`. Jeśli nazwany atrybut nie istnieje, default jest zwracany, jeśli został podany, w przeciwnym razie `AttributeError` jest rzucony. name nie musi być identyfikatorem Pythona (Zobacz `setattr()`).

  Informacja

  Ponieważ manipulowanie nazwami prywatnymi odbywa się w czasie kompilacji, należy ręcznie zmanipulować nazwę prywatną atrybutu (atrybuty z dwoma wiodącymi podkreśleniami), aby pobrać ją za pomocą `getattr()`.

`globals`()

  Zwraca słownik implementującą bieżącą przestrzeń nazw moduł. W przypadku kodu w funkcja, jest on ustawiany, gdy funkcja jest zdefiniowana i pozostaje taki sam niezależnie od tego, gdzie wywoływana jest funkcja.

`hasattr`(object, name)

  Argumenty to obiekt i napis. Wynikiem jest `True` jeśli napis jest nazwą jednego z obiektów atrybut, `False` jeśli nie. (Jest to zaimplementowane poprzez wywołanie `getattr(object, name)` i sprawdzenie, czy rzucone jest `AttributeError` ).

`hash`(object)

  Zwraca wartość skrótu obiektu (jeśli taki posiada). Wartości skrótu są liczbami całkowitymi. Są one używane do szybkiego porównywania kluczy słownika podczas wyszukiwania słownika. Wartości numeryczne, które są równe, mają tę samą wartość skrótu (nawet jeśli są różnych typów, jak w przypadku 1 i 1.0).

  Informacja

  For objects with custom `__hash__()` methods, note that `hash()` truncates the return value based on the bit width of the host machine. See `__hash__()` for details.

`help`([object])

  Wywołuje system pomocy wbudowany. (Ta funkcja jest przeznaczona do użytku interaktywnego.) Jeśli nie podano argumentu, interaktywny system pomocy uruchamia się na konsoli interpretera. Jeśli argument jest napisem, to napis jest wyszukiwany jako nazwa modułu, funkcja, klasa, metoda, słowo kluczowe lub temat dokumentacji, a strona pomocy jest drukowana na konsoli. Jeśli argument jest jakimkolwiek innym rodzajem obiektu, generowana jest strona pomocy dotycząca tego obiektu.

  Zauważ, że jeśli ukośnik (/) pojawia się na liście parametrów w funkcji podczas wywoływania `help()`, oznacza to, że parametry przed ukośnikiem są tylko-pozycyjne. Aby uzyskać więcej informacji, zobacz wpis FAQ na temat parametrów tylko-pozycyjnych .

  Ta funkcja jest dodawana do przestrzeni nazw wbudowanych przez moduł `site` .

  Zmienione w wersji 3.4: Zmiany do `pydoc` i `inspect` oznaczają, że zgłoszone sygnatury dla callables są teraz bardziej kompleksowe i spójne.

`hex`(x)

  Convert an integer number to a lowercase hexadecimal string prefixed with „0x”. If x is not a Python `int` object, it has to define an `__index__()` method that returns an integer. Some examples:

      >>> hex(255)
      '0xff'
      >>> hex(-42)
      '-0x2a'

  Jeśli chcesz przekonwertować liczbe całkowita na wielką lub małą liczbę szesnastkową napis z prefiksem lub bez, możesz użyć jednego z poniższych sposobów:

      >>> '%#x' % 255, '%x' % 255, '%X' % 255
      ('0xff', 'ff', 'FF')
      >>> format(255, '#x'), format(255, 'x'), format(255, 'X')
      ('0xff', 'ff', 'FF')
      >>> f'{255:#x}', f'{255:x}', f'{255:X}'
      ('0xff', 'ff', 'FF')

  Zobacz też `format()` by uzyskać więcej informacji.

  Zobacz także `int()`, aby przekonwertować szesnastkowy napis na liczba całkowita przy użyciu podstawy 16.

  Informacja

  Aby uzyskać napis szesnastkowej reprezentacj dla zmiennoprzecinkowej, należy użyć metody `float.hex()`.

`id`(object)

  Zwraca „tożsamość” obiektu. Jest to liczba całkowita, która jest gwarantowana jako unikalny i stały dla tego obiektu przez cały okres jego życia. Dwa obiekty o nienakładających się okresach życia mogą mieć tę samą wartość `id()`.

  Szczegół implementacyjny CPythona: Jest to adres obiektu w pamięci.

  Rzuci auditing event `builtins.id` bez argumentu `id` .

`input`([prompt])

  Jeśli prompt argument jest obecny, jest on zapisywany na standardowe wyjście bez końcowej nowej linii. Następnie funkcja odczytuje linię z wejścia, konwertuje ją na napis (usuwając końcową nową linię) i zwraca. Po odczytaniu EOF, `EOFError` jest rzucone. Przykład:

      >>> s = input('--> ')
      --> Monty Python's Flying Circus
      >>> s
      "Monty Python's Flying Circus"

  Jeśli załadowano moduł `readline` , to `input()` użyje go do zapewnienia rozbudowanych funkcji edycji wierszy i historii.

  Rzuca auditing event `builtins.input` z argumentem `prompt` przed odczytaniem wpisu

  Rzuca zdarzenie auditing `builtins.input/result` z wynikiem po pomyślnym odczytaniu danych wejściowych.

class `int`([x])
class `int`(x, base=10)

  Return an integer object constructed from a number or string x, or return `0` if no arguments are given. If x defines `__int__()`, `int(x)` returns `x.__int__()`. If x defines `__index__()`, it returns `x.__index__()`. If x defines `__trunc__()`, it returns `x.__trunc__()`. For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, `bytes`, or `bytearray` instance representing an integer in radix base. Optionally, the string can be preceded by `+` or `-` (with no space in between), have leading zeros, be surrounded by whitespace, and have single underscores interspersed between digits.

  Baza-n liczba całkowita napis zawiera cyfry, z których każda reprezentuje wartość od 0 do n-1. Wartości 0–9 mogą być reprezentowane przez dowolną cyfrę dziesiętną Unicode. Wartości 10-35 mogą być reprezentowane przez `a` do `z` (lub `A` do `Z`). Domyślna baza jest 10. Dozwolone wartości bazowe to 0 i 2–36. Podstawy 2, -8 i -16 napis mogą być opcjonalnie poprzedzone przedrostkiem `0b`/`0B`, `0o`/`0O`, lub `0x`/`0X`, tak jak w przypadku literałów liczba całkowita w kodzie. Dla podstawy 0, napis jest interpretowane w podobny sposób jak liczba całkowita w kodzie, w którym rzeczywista podstawa wynosi 2, 8, 10 lub 16, zgodnie z przedrostkiem. Podstawa 0 również nie zezwala na zera wiodące: `int('010', 0)` nie jest legalne, podczas gdy `int('010')` i `int('010', 8)` są.

  Typ liczba całkowita (integer) został opisany w Numeric Types — int, float, complex.

  Zmienione w wersji 3.4: Jeśli base nie jest instancją `int` i obiekt base posiada metodę `base.__index__`, metoda ta jest wywoływana w celu uzyskania liczba całkowitych dla bazy. Poprzednie wersje używały `base.__int__` zamiast `base.__index__`.

  Zmienione w wersji 3.6: Dozwolone jest grupowanie cyfr za pomocą podkreślników, tak jak w literałach kodu.

  Zmienione w wersji 3.7: x jest teraz parametrem positional-only.

  Zmienione w wersji 3.8: Falls back to `__index__()` if `__int__()` is not defined.

  Zmienione w wersji 3.10.7: `int` string inputs and string representations can be limited to help avoid denial of service attacks. A `ValueError` is raised when the limit is exceeded while converting a string x to an `int` or when converting an `int` into a string would exceed the limit. See the integer string conversion length limitation documentation.

`isinstance`(object, classinfo)

  Return `True` if the object argument is an instance of the classinfo argument, or of a (direct, indirect, or virtual) subclass thereof. If object is not an object of the given type, the function always returns `False`. If classinfo is a tuple of type objects (or recursively, other such tuples) or a Union Type of multiple types, return `True` if object is an instance of any of the types. If classinfo is not a type or tuple of types and such tuples, a `TypeError` exception is raised.

  Zmienione w wersji 3.10: classinfo może być Union Type.

`issubclass`(class, classinfo)

  Zwraca `True` jeśli class jest podklasą (bezpośrednią, pośrednią lub wirtualną) classinfo. Klasa jest uważana za podklasę samej siebie. classinfo może być krotką obiektów klasy (lub rekurencyjnie, innych takich krotek) lub Union Type, w którym to przypadku zwraca `True` jeśli class jest podklasą dowolnego wpisu w classinfo. W każdym innym przypadku rzucany jest wyjątek `TypeError`.

  Zmienione w wersji 3.10: classinfo może być Union Type.

`iter`(object[, sentinel])

  Return an iterator object. The first argument is interpreted very differently depending on the presence of the second argument. Without a second argument, object must be a collection object which supports the iterable protocol (the `__iter__()` method), or it must support the sequence protocol (the `__getitem__()` method with integer arguments starting at `0`). If it does not support either of those protocols, `TypeError` is raised. If the second argument, sentinel, is given, then object must be a callable object. The iterator created in this case will call object with no arguments for each call to its `__next__()` method; if the value returned is equal to sentinel, `StopIteration` will be raised, otherwise the value will be returned.

  Zobacz także Iterator Types.

  Jednym z przydatnych aplikacji drugiej formy `iter()` jest zbudowanie blok czytnika. Na przykład, odczytywanie stałej szerokości bloku z binarnego pliku bazy danych aż do osiągnięcia końca pliku:

      from functools import partial
      with open('mydata.db', 'rb') as f:
          for block in iter(partial(f.read, 64), b''):
              process_block(block)

`len`(s)

  Zwraca długość (liczba elementów) obiektu. Obiekt argument może być sekwencją (taką jak napis, bajty, krotka, lista lub zakres) lub kolekcją (taką jak słownik, zbiór lub zbiór zamrożony).

  Szczegół implementacyjny CPythona: `len` rzuca `OverflowError` dla długości większych niż `sys.maxsize`, takich jak `range(2 ** 100)`.

class `list`([iterable])

  Zamiast być funkcją, `list` jest w rzeczywistości typem mutowalnej (zmiennej) sekwencji, jak udokumentowano w Listy i Sequence Types — list, tuple, range.

`locals`()

  Update and return a dictionary representing the current local symbol table. Free variables are returned by `locals()` when it is called in function blocks, but not in class blocks. Note that at the module level, `locals()` and `globals()` are the same dictionary.

  Informacja

  The contents of this dictionary should not be modified; changes may not affect the values of local and free variables used by the interpreter.

`map`(function, iterable, ...)

  Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted. For cases where the function inputs are already arranged into argument tuples, see `itertools.starmap()`.

`max`(iterable, *[, key, default])
`max`(arg1, arg2, *args[, key])

  Zwraca największy element w iterable lub największy z dwóch lub więcej argumentow.

  Jeśli podano jeden pozycjny argument, powinien to być iterable. Zwracany jest największy element w iterable. Jeśli podano dwa lub więcej pozycyjne argumenty, zwracany jest największy z pozycyjnych argumentow.

  Istnieją dwa opcjonalne tylko ze słowem kluczowym argument. Kluczowy argument określa jedno-argumentowy uporządkowanie funkcji jak to używane dla `list.sort()`. Domyślny argument określa obiekt do zwracania, jeśli podany iterable jest pusty. Jeśli iterable jest pusty i domyślny nie jest podany, `ValueError` jest rzucony.

  Jeśli wiele elementów jest maksymalnych, funkcja zwraca pierwszy napotkany element. Jest to zgodne z innymi narzędziami zachowującymi stabilność sortowania, takimi jak `sorted(iterable, key=keyfunc, reverse=True)[0]` i `heapq.nlargest(1, iterable, key=keyfunc)`.

  Nowe w wersji 3.4: The default keyword-only argument.

  Zmienione w wersji 3.8: Kluczem może być `None`.

class `memoryview`(object)

  Zwraca obiekt „memory view” utworzony z podanego argumentu. Więcej informacji można znaleźć na stronie Memory Views.

`min`(iterable, *[, key, default])
`min`(arg1, arg2, *args[, key])

  Zwraca najmniejszy element w iterable lub najmniejszy z dwóch lub więcej argumentow.

  Jeśli podano jeden pozycjny argument, powinien to być iterable. Zwracany jest najmniejszy element w iterable. Jeśli podano dwa lub więcej pozycyjne argumenty, zwracany jest najmniejszy z pozycyjnych argumentow.

  Istnieją dwa opcjonalne tylko ze słowem kluczowym argument. Kluczowy argument określa jedno-argumentowy uporządkowanie funkcji jak to używane dla `list.sort()`. Domyślny argument określa obiekt do zwracania, jeśli podany iterable jest pusty. Jeśli iterable jest pusty i domyślny nie jest podany, `ValueError` jest rzucony.

  Jeśli wiele elementów jest minimalnych, funkcja zwraca pierwszy napotkany. Jest to zgodne z innymi narzędziami zachowującymi stabilność sortowania, takimi jak `sorted(iterable, key=keyfunc)[0]` i `heapq.nsmallest(1, iterable, key=keyfunc)`.

  Nowe w wersji 3.4: The default keyword-only argument.

  Zmienione w wersji 3.8: Kluczem może być `None`.

`next`(iterator[, default])

  Pobiera następny element z iterator poprzez wywołanie jego metody `__next__()`. Jeśli domyślny jest podany, jest zwracany, jeśli iterator jest wyczerpany, w przeciwnym razie `StopIteration` jest rzucony.

class `object`

  Return a new featureless object. `object` is a base for all classes. It has methods that are common to all instances of Python classes. This function does not accept any arguments.

  Informacja

  `object` does not have a `__dict__`, so you can’t assign arbitrary attributes to an instance of the `object` class.

`oct`(x)

  Convert an integer number to an octal string prefixed with „0o”. The result is a valid Python expression. If x is not a Python `int` object, it has to define an `__index__()` method that returns an integer. For example:

      >>> oct(8)
      '0o10'
      >>> oct(-56)
      '-0o70'

  Jeśli chcesz przekonwertować liczbę całkowita na ósemkowy napis z przedrostkiem „0o” lub bez, możesz użyć jednego z poniższych sposobów.

      >>> '%#o' % 10, '%o' % 10
      ('0o12', '12')
      >>> format(10, '#o'), format(10, 'o')
      ('0o12', '12')
      >>> f'{10:#o}', f'{10:o}'
      ('0o12', '12')

  Zobacz też `format()` by uzyskać więcej informacji.

`open`(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

  Otwiera file i zwraca odpowiedni obiekt pliku. Jeśli pliku nie da się otworzyć, rzucany jest `OSError`. Więcej przykładów użycia tej funkcji można znaleźć w Odczytywanie i zapisywanie plików.

  file jest obiektem path-like podającym nazwę ścieżki (bezwzględną lub względną do bieżącego katalogu roboczego) pliku, który ma zostać otwarty, lub liczbą całkowitą deskryptora pliku, który ma zostać opakowany. (Jeśli podano deskryptor pliku, jest on zamykany, gdy zwrócony obiekt I/O jest zamykany, chyba że closefd jest ustawione na `False`.)

  mode is an optional string that specifies the mode in which the file is opened. It defaults to `'r'` which means open for reading in text mode. Other common values are `'w'` for writing (truncating the file if it already exists), `'x'` for exclusive creation, and `'a'` for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform-dependent: `locale.getpreferredencoding(False)` is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

  Znak | Znaczenie
  --- | ---
  `'r'` | otwarte do czytania (domyślny)
  `'w'` | otworzyć do zapisu, najpierw obcinając plik
  `'x'` | otwarcie do wyłącznego utworzenia, niepowodzenie, jeśli plik już istnieje
  `'a'` | otwarte do zapisu, dołączenie do końca pliku, jeśli istnieje
  `'b'` | tryb binarny
  `'t'` | tryb tekstowy (domyślny)
  `'+'` | otwarte na aktualizację (odczyt i zapis)

  Tryb domyślny to `'r'` (otwarty do odczytu tekstu, synonim `'rt'`). Tryby `'w+'` i `'w+b'` otwierają i obcinają plik. Tryby `'r+'` i `'r+b'` otwierają plik bez obcinania.

  Jak wspomniano w Skorowidz, Python rozróżnia binarne i tekstowe I/O. Pliki otwierane w trybie binarnym (w tym `'b'` w mode argument) zwracają zawartość jako obiekty `bytes` bez żadnego dekodowania. W trybie tekstowym ( domyślny, lub gdy `'t'` jest zawarte w mode argument), zawartość pliku jest zwracana jako `str`, bajty zostały najpierw zdekodowane przy użyciu kodowania zależnego od platformy lub przy użyciu określonego kodowania, jeśli zostało podane.

  There is an additional mode character permitted, `'U'`, which no longer has any effect, and is considered deprecated. It previously enabled universal newlines in text mode, which became the default behavior in Python 3.0. Refer to the documentation of the newline parameter for further details.

  Informacja

  Python nie zależy od pojęcia plików tekstowych w systemie operacyjnym; całe przetwarzanie jest wykonywane przez Pythoan i dlatego jest niezależne od platformy.

  buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size in bytes of a fixed-size chunk buffer. Note that specifying a buffer size this way applies for binary buffered I/O, but `TextIOWrapper` (i.e., files opened with `mode='r+'`) would have another buffering. To disable buffering in `TextIOWrapper`, consider using the `write_through` flag for `io.TextIOWrapper.reconfigure()`. When no buffering argument is given, the default buffering policy works as follows:

  - Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s „block size” and falling back on `io.DEFAULT_BUFFER_SIZE`. On many systems, the buffer will typically be 4096 or 8192 bytes long.

  - „Interaktywne” pliki tekstowe (pliki, dla których `isatty()` zwraca `True` ) używają buforowania linii. Inne pliki tekstowe używają zasad opisanych powyżej dla plików binarnych.

  encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent (whatever `locale.getpreferredencoding()` returns), but any text encoding supported by Python can be used. See the `codecs` module for the list of supported encodings.

  errors to opcjonalny napis, który określa sposób obsługi błędów kodowania i dekodowania - nie może być używany w trybie binarnym. Dostępnych jest wiele standardowych programów obsługi błędów (wymienionych w Error Handlers), choć każda nazwa obsługi błędów zarejestrowana w `codecs.register_error()` jest również ważna. Standardowe nazwy obejmują:

  - `'strict'` do rzucenja wyjątek `ValueError`, jeśli wystąpi błąd kodowania. Wartość domyślna z `None` ma ten sam efekt.

  - `'ignore'` ignoruje błędy. Należy pamiętać, że ignorowanie błędów kodowania może prowadzić do utraty danych.

  - `'replace'` powoduje wstawienie znacznika zastępczego (takiego jak `'?'`) tam, gdzie występują zniekształcone dane.

  - `'surrogateescape'` będzie reprezentować wszelkie nieprawidłowe bajty jako niskie jednostki kodu zastępczego w zakresie od U+DC80 do U+DCFF. Te jednostki kodu zastępczego zostaną następnie przekształcone z powrotem w te same bajty, gdy podczas zapisu danych zostanie użyta obsługa błędów `surrogateescape`. Jest to przydatne do przetwarzania plików w nieznanym kodowaniu.

  - `'xmlcharrefreplace'` is only supported when writing to a file. Characters not supported by the encoding are replaced with the appropriate XML character reference `&#nnn;`.

  - `'backslashreplace'` zastępuje zniekształcone dane przez sekwencje specjalne Python’z ukośnikiem wstecznym.

  - `'namereplace'` (również obsługiwane tylko podczas zapisu) zastępuje nieobsługiwane znak sekwencjami ucieczki `\N{...}`.

  newline określa sposób analizowania nowej linii znak ze strumienia. Może to być `None`, `''`, `'\n'`, `'\r'` i `'\r\n'`. Działa to w następujący sposób:

  - Podczas odczytu danych wejściowych ze strumienia, jeśli newline to `None`, włączony jest uniwersalny tryb nowych linii. Linie na wejściu mogą kończyć się na `'\n'`, `'\r'`, lub `'\r\n'`, które są tłumaczone na `'\n'` przed zwróceniem do wywołującego. Jeśli jest to `''`, włączony jest uniwersalny tryb nowych linii, ale zakończenia linii są zwracane do wywołującego bez tłumaczenia. Jeśli ma dowolną z pozostałych legalnych wartości, linie wejściowe są kończone tylko przez podany napis, a zakończenie linii jest zwracane bez tłumaczenia.

  - Podczas zapisywania danych wyjściowych do strumienia, jeśli newline ma wartość `None`, wszelkie zapisane `'\n'` znaki są tłumaczone na systemowy domyślny separator linii, `os.linesep`. Jeśli newline ma wartość `''` lub `'\n'`, tłumaczenie nie jest wykonywane. Jeśli newline jest dowolną z pozostałych legalnych wartości, wszelkie zapisane `'\n'` znaki są tłumaczone na podany napis.

  Jeśli closefd ma wartość `False` i podano deskryptor pliku, a nie nazwę pliku, to bazowy deskryptor pliku pozostanie otwarty po zamknięciu pliku. Jeśli podano nazwę pliku, closefd musi mieć wartość `True` ( domyślny); w przeciwnym razie wystąpi błąd.

  Niestandardowy otwieracz może być użyty poprzez przekazanie wywołania jako opener. Podstawowy deskryptor pliku dla obiektu pliku jest następnie uzyskiwany przez wywołanie opener z (file, flags). opener musi zwracać otwarty deskryptor pliku (przekazanie `os.open` jako opener skutkuje funkcjonalnością podobną do przekazania `None`).

  Nowo utworzony plik jest non-inheritable.

  Poniższy przykład używa dir_fd parametr z `os.open()` funkcji do otwarcia pliku względem danego katalogu:

      >>> import os
      >>> dir_fd = os.open('somedir', os.O_RDONLY)
      >>> def opener(path, flags):
      ...     return os.open(path, flags, dir_fd=dir_fd)
      ...
      >>> with open('spamspam.txt', 'w', opener=opener) as f:
      ...     print('This will be written to somedir/spamspam.txt', file=f)
      ...
      >>> os.close(dir_fd)  # don't leak a file descriptor

  Typ file object zwracany przez `open()` zależy od trybu. Gdy `open()` jest używany do otwarcia pliku w trybie tekstowym (`'w'`, `'r'`, `'wt'`, `'rt'`, itd.), to zwracana jest podklasa klasy `io.TextIOBase` (w szczególności `io.TextIOWrapper`). W przypadku użycia do otwarcia pliku w trybie binarnym z buforowaniem, zwracana klasą jest podklasa z `io.BufferedIOBase`. Dokładna klasa różni się: w trybie odczytu binarnego, jest to zwracane z `io.BufferedReader`; w trybach zapisu binarnego i dołączania binarnego, jest to zwracane z `io.BufferedWriter`, a w trybie odczytu/zapisu, jest to zwracane z `io.BufferedRandom`. Gdy buforowanie jest wyłączone, zwracany jest nieprzetworzony strumień, podklasa z `io.RawIOBase`, `io.FileIO`.

  Zobacz także moduły obsługę plików, takich jak `fileinput`, `io` (gdzie zadeklarowano `open()` ), `os`, `os.path`, `tempfile` i `shutil`.

  Raises an auditing event `open` with arguments `file`, `mode`, `flags`.

  Adresy `mode` i `flags` argumenty mogły zostać zmodyfikowane lub wywnioskowane z oryginalnego połączenia.

  > Zmienione w wersji 3.3:

  > - Dodano opener parametr.

  > - Dodano tryb `'x'`.

  > - `IOError` kiedyś był rzucony, teraz jest alias z `OSError`.

  > - `FileExistsError` jest teraz rzucane, jeśli plik otwarty w trybie wyłącznego tworzenia (`'x'`) już istnieje.

  > Zmienione w wersji 3.4:

  > - Plik nie jest teraz dziedziczony.

  Deprecated since version 3.4, removed in version 3.10: The `'U'` mode.

  > Zmienione w wersji 3.5:

  > - Jeśli wywołanie systemowe zostanie przerwane, a program obsługi sygnału nie rzuci wyjątku, funkcji ponawia teraz wywołanie systemowe zamiast rzucenja wyjątku `InterruptedError` (zobacz PEP 475 dla uzasadnienia).

  > - Dodano obsługę błędów `'namereplace'`.

  > Zmienione w wersji 3.6:

  > - Dodano obsługę akceptowania obiektów implementujących `os.PathLike`.

  > - W systemie Windows, otwarcie bufora konsoli może zwracać podklasa z `io.RawIOBase` innego niż `io.FileIO`.

`ord`(c)

  Biorąc pod uwagę napis reprezentujący jeden punkt kodowy Unicode znak, zwracać i liczba całkowita reprezentujący punkt kodowy Unicode tego znaka. Na przykład, `ord('a')` zwraca liczbe całkowita `97` i `ord('€')` (znak euro) zwraca `8364` . Jest to odwrotność `chr()`.

`pow`(base, exp[, mod])

  Zwraca base do potęgi exp; jeśli mod jest obecny, zwraca base do potęgi exp, modulo mod (obliczane bardziej efektywnie niż `pow(base, exp) % mod`). Forma dwóchargumentow `pow(base, exp)` jest równoważna użyciu operatora potęgi: `base**exp`.

  The arguments must have numeric types. With mixed operand types, the coercion rules for binary arithmetic operators apply. For `int` operands, the result has the same type as the operands (after coercion) unless the second argument is negative; in that case, all arguments are converted to float and a float result is delivered. For example, `pow(10, 2)` returns `100`, but `pow(10, -2)` returns `0.01`. For a negative base of type `int` or `float` and a non-integral exponent, a complex result is delivered. For example, `pow(-9, 0.5)` returns a value close to `3j`.

  Dla operandów `int` base i exp, jeśli mod jest obecny, mod musi być również typu liczba całkowita i mod musi być niezerowy. Jeśli mod jest obecny, a exp jest ujemny, base musi być względnie pierwsze do mod. W takim przypadku zwracana jest wartość `pow(inv_base, -exp, mod)`, gdzie inv_base jest odwrotnością base modulo mod.

  Oto przykład obliczania odwrotności dla `38` modulo `97`:

      >>> pow(38, -1, mod=97)
      23
      >>> 23 * 38 % 97 == 1
      True

  Zmienione w wersji 3.8: W przypadku operandów `int`, trzy-argumenty formy `pow` pozwala teraz, aby drugi argument był ujemny, umożliwiając obliczanie odwrotności modularnych.

  Zmienione w wersji 3.8: Zezwalaj na argument nazwany. Wcześniej obsługiwane były tylko pozycyjne argument.

`print`(*objects, sep=' ', end='\n', file=None, flush=False)

  Wypisuje obiekty do strumienia tekstowego file, oddzielone sep i zakończone end. sep, end, file i flush, jeśli występują, muszą być podane jako argument nazwany.

  Wszystkie non-argumenty nazwane są konwertowane na napis tak jak `str()` i zapisywane do strumienia, oddzielone sep i end. Zarówno sep jak i end muszą być napisem; mogą być również `None`, co oznacza użycie wartości domyślne. Jeśli nie podano objects, `print()` po prostu zapisze end.

  Plik argument musi być obiektem z metodą `write(string)`; jeśli nie jest obecny lub `None`, zostanie użyty `sys.stdout`. Ponieważ drukowane argument są konwertowane na tekst napis, `print()` nie może być używany z obiektami plików w trybie binarnym. Zamiast tego należy uży `file.write(...)`.

  Buforowanie wyjścia jest zwykle określane przez file. Jednakże, jeśli flush jest prawdą, strumień jest przymusowo opróżniany.

  Zmienione w wersji 3.3: Dodano flush argument nazwany.

class `property`(fget=None, fset=None, fdel=None, doc=None)

  Zwraca atrybut właściwośći.

  fget to funkcja do pobierania wartości atrybut. fset to funkcja do ustawiania wartości atrybut. fdel to funkcja do usuwania wartości atrybut. Z kolei doc tworzy docstring dla atrybut.

  Typowym zastosowaniem jest zdefiniowanie zarządzanego atrybutu `x`

      class C:
          def __init__(self):
              self._x = None

          def getx(self):
              return self._x

          def setx(self, value):
              self._x = value

          def delx(self):
              del self._x

          x = property(getx, setx, delx, "I'm the 'x' property.")

  Jeśli c jest instancją C, `c.x` wywoła getter, `c.x = value` wywoła setter, a `del c.x` deleter.

  Jeśli zostanie podana, doc będzie docstringiem właściwości atrybut. W przeciwnym razie właściwość skopiuje docstring fget (jeśli istnieje). Umożliwia to łatwe tworzenie właściwości tylko do odczytu przy użyciu `property()` jako dekorator:

      class Parrot:
          def __init__(self):
              self._voltage = 100000

          @property
          def voltage(self):
              """Get the current voltage."""
              return self._voltage

  The `@property` decorator turns the `voltage()` method into a „getter” for a read-only attribute with the same name, and it sets the docstring for voltage to „Get the current voltage.”

  A property object has `getter`, `setter`, and `deleter` methods usable as decorators that create a copy of the property with the corresponding accessor function set to the decorated function. This is best explained with an example:

      class C:
          def __init__(self):
              self._x = None

          @property
          def x(self):
              """I'm the 'x' property."""
              return self._x

          @x.setter
          def x(self, value):
              self._x = value

          @x.deleter
          def x(self):
              del self._x

  Ten kod jest dokładnie taki sam jak w pierwszym przykładzie. Pamiętaj, aby nadać dodatkowym funkcjom takie same nazwy jak oryginalnej właściwości (w tym przypadku `x`).

  Zwrócony obiekt właściwości ma również atrybutow `fget` , `fset` i `fdel` odpowiadające konstruktor argumentu.

  Zmienione w wersji 3.5: Dokumentacja obiektów właściwości sa teraz zapisywalne.

class `range`(stop)
class `range`(start, stop[, step])

  Zamiast być funkcja, `range` jest w rzeczywistości niezmiennym typem sekwencji, jak udokumentowano w Ranges i Sequence Types — list, tuple, range.

`repr`(object)

  Return a string containing a printable representation of an object. For many types, this function makes an attempt to return a string that would yield an object with the same value when passed to `eval()`; otherwise, the representation is a string enclosed in angle brackets that contains the name of the type of the object together with additional information often including the name and address of the object. A class can control what this function returns for its instances by defining a `__repr__()` method. If `sys.displayhook()` is not accessible, this function will raise `RuntimeError`.

`reversed`(seq)

  Return a reverse iterator. seq must be an object which has a `__reversed__()` method or supports the sequence protocol (the `__len__()` method and the `__getitem__()` method with integer arguments starting at `0`).

`round`(number[, ndigits])

  Zwraca liczba zaokrąglona do cyfr po przecinku dziesiętnym. Jeśli ndigits zostanie pominięte lub będzie `None`, to zwraca najbliższa liczbe całkowita wartości wejściowej.

  Dla typów wbudowanych wspierających `round()`, wartości są zaokrąglane do najbliższej wielokrotności 10 do potęgi minus ndigits; jeśli dwie wielokrotności są równie bliskie, zaokrąglanie jest wykonywane w kierunku parzystego wyboru (więc, na przykład, zarówno `round(0.5)` jak i `round(-0.5)` są `0`, a `round(1.5)` jest `2`). Każda wartość liczby całkowitej jest ważna dla cyfr (dodatnich, zerowych lub ujemnych). zwracana wartość jest liczba całkowita jeśli ndigits jest pominięte lub `None`. W przeciwnym razie zwracana wartość ma ten sam typ co number.

  Dla ogólnego obiektu Python `number` , `round` deleguje do `number.__round__`.

  Informacja

  Zachowanie `round()` dla zmiennoprzecinkowych może być zaskakujący: na przykład, `round(2.675, 2)` daje `2.67` zamiast oczekiwanego `2.68`. Nie jest to błąd: wynika to z faktu, że większość ułamków dziesiętnych nie może być reprezentowana dokładnie jako liczba zmiennoprzecinkowa. Więcej informacji można znaleźć na stronie Arytmetyka liczb zmiennoprzecinkowych: Problemy i ograniczenia.

class `set`([iterable])

  Zwraca nowy obiekt `set`, opcjonalnie z elementami pobranymi z iterable. `set` jest klasą wbudowana. Dokumentacja dotycząca tej klasy znajduje się na stronach `set` i Set Types — set, frozenset.

  Dla innych kontenerów zobacz klasy wbudowane `frozenset` , `list`, `tuple` i `dict`, jak również `collections` moduł .

`setattr`(object, name, value)

  Jest to odpowiednik `getattr()`. Argumenty to obiekt, napis i dowolna wartość. Napis może nazywać istniejący atrybut lub nowy atrybut. Funkcja przypisuje wartość do atrybut, pod warunkiem, że obiekt na to pozwala. Na przykład, `setattr(x, 'foobar', 123)` jest równoważne `x.foobar = 123`.

  name nie musi być identyfikatorem Pythona zdefiniowanym w Identifiers and keywords, chyba że obiekt zdecyduje się to wymusić, na przykład w niestandardowym `__getattribute__()` lub poprzez `__slots__`. Obiekt atrybut, którego nazwa nie jest identyfikatorem, nie będzie dostępny przy użyciu notacji kropkowej, ale będzie dostępny za pośrednictwem `getattr()` itd.

  Informacja

  Ponieważ mangling nazwy prywatnej ma miejsce w czasie kompilacji, należy ręcznie zmienić nazwę prywatnego atrybutu (atrybut z dwoma wiodącymi podkreśleniami), aby ustawić ją z `setattr()`.

class `slice`(stop)
class `slice`(start, stop[, step])

  Return a slice object representing the set of indices specified by `range(start, stop, step)`. The start and step arguments default to `None`. Slice objects have read-only data attributes `start`, `stop`, and `step` which merely return the argument values (or their default). They have no other explicit functionality; however, they are used by NumPy and other third-party packages. Slice objects are also generated when extended indexing syntax is used. For example: `a[start:stop:step]` or `a[start:stop, i]`. See `itertools.islice()` for an alternate version that returns an iterator.

`sorted`(iterable, /, *, key=None, reverse=False)

  Zwraca nową posortowaną listę z elementów w iterable.

  Posiada dwa opcjonalne argumenty, które muszą być określone jako argument nazwany.

  key określa funkcje jednego argumentu, który jest używany do wyodrębnienia klucza porównania z każdego elementu w iterable (na przykład `key=str.lower`). Wartość domyślna to `None` (bezpośrednie porównanie elementów).

  reverse jest wartością logiczną. Jeśli jest ustawiona na `True`, elementy listy są sortowane tak, jakby każde porównanie było odwrócone.

  Użyj `functools.cmp_to_key()` do konwersji starego stylu cmp funkcja na key funkcja.

  Wbudowana `sorted()` funkcja ma gwarancję stabilności. Sortowanie jest stabilne, jeśli gwarantuje, że nie zmieni względnej kolejności elementów, które porównują równe — jest to pomocne przy sortowaniu w wielu przejściach (na przykład sortowanie według działu, a następnie według kategorii wynagrodzenia).

  Algorytm sortowania używa tylko porównań `<` między elementami. Podczas gdy zdefiniowanie metoda `__lt__()` wystarczy do sortowania, PEP 8 zaleca zaimplementowanie wszystkich sześciu bogatych porównań. Pomoże to uniknąć błędów podczas korzystania z tych samych danych z innymi narzędziami porządkującymi, takimi jak `max()`, które opierają się na innej metodzie bazowej. Zaimplementowanie wszystkich sześciu porównań pomaga również uniknąć nieporozumień w przypadku porównań typów mieszanych, które mogą wywoływać metodę `__gt__()`.

  Przykłady sortowania i krótki samouczek sortowania można znaleźć na stronie Sorting HOW TO.

`@``staticmethod`

  Przekształcenie metody w metodę statyczną.

  Metoda statyczna nie otrzymuje niejawnego pierwszego argumentu. Aby zadeklarować metodę statyczną, użyj tego idiomu:

      class C:
          @staticmethod
          def f(arg1, arg2, ...): ...

  Forma `@staticmethod` to dekorator funkcji – zobacz Function definitions po szczegóły.

  A static method can be called either on the class (such as `C.f()`) or on an instance (such as `C().f()`). Moreover, they can be called as regular functions (such as `f()`).

  Metody statyczne w Python są podobne do tych, które można znaleźć w Java lub C++. Zobacz także `classmethod()`, aby zapoznać się z wariantem, który jest przydatny do tworzenia alternatywnych konstruktorów klas.

  Podobnie jak wszystkie dekoratory, możliwe jest również wywołanie `staticmethod` jako zwykłoł funkcje i zrobienie czegoś z jego wynikiem. Jest to potrzebne w niektórych przypadkach, gdy potrzebujesz odniesienia do funkcji z ciałej klasy i chcesz uniknąć automatycznej transformacji do metody instancji. W takich przypadkach należy użyć tego idiomu:

      def regular_function():
          ...

      class C:
          method = staticmethod(regular_function)

  Więcej informacji na temat metod statycznych można znaleźć na stronie The standard type hierarchy.

  Zmienione w wersji 3.10: Static methods now inherit the method attributes (`__module__`, `__name__`, `__qualname__`, `__doc__` and `__annotations__`), have a new `__wrapped__` attribute, and are now callable as regular functions.

class `str`(object='')
class `str`(object=b'', encoding='utf-8', errors='strict')

  Zwraca `str` wersja of object. Szczegółowe informacje można znaleźć na stronie `str()`.

  `str` jest wbudowanem napisem class. Aby uzyskać ogólne informacje na temat napisow, zobacz Text Sequence Type — str.

`sum`(iterable, /, start=0)

  Sumuje start i elementy iterable od lewej do prawej i zwraca sumę. Elementy iterable są zwykle liczbami, a wartością początkową nie może być napisem.

  For some use cases, there are good alternatives to `sum()`. The preferred, fast way to concatenate a sequence of strings is by calling `''.join(sequence)`. To add floating point values with extended precision, see `math.fsum()`. To concatenate a series of iterables, consider using `itertools.chain()`.

  Zmienione w wersji 3.8: Parametr start można określić jako argument nazwany.

class `super`([type[, object-or-type]])

  Zwraca obiekt proxy, który deleguje wywołania metod do klasy nadrzędnej lub rodzeństwa type. Jest to przydatne do uzyskiwania dostępu do odziedziczonych metod, które zostały przesłonięte w klasie.

  The object-or-type determines the method resolution order to be searched. The search starts from the class right after the type.

  For example, if `__mro__` of object-or-type is `D -> B -> C -> A -> object` and the value of type is `B`, then `super()` searches `C -> A -> object`.

  The `__mro__` attribute of the object-or-type lists the method resolution search order used by both `getattr()` and `super()`. The attribute is dynamic and can change whenever the inheritance hierarchy is updated.

  Jeśli drugi argument zostanie pominięty, zwrócony superobiekt jest niezwiązany. Jeśli drugi argument jest obiektem, `isinstance(obj, type)` musi być prawda. Jeśli drugi argument jest typem, `issubclass(type2, type)` musi być prawda (jest to przydatne dla metod klasowych).

  Istnieją dwa typowe przypadki użycia super. W hierarchii klas z pojedynczym dziedziczeniem, super może być używany do odwoływania się do klas nadrzędnych bez ich jawnego nazywania, dzięki czemu kod jest łatwiejszy w utrzymaniu. To zastosowanie jest bardzo podobne do użycia super w innych językach programowania.

  Drugim przypadkiem użycia jest obsługa kooperatywnego dziedziczenia wielokrotnego w dynamicznym środowisku wykonawczym. Ten przypadek użycia jest unikalny dla Python i nie występuje w statycznie kompilowanych językach lub językach, które obsługują tylko pojedyncze dziedziczenie. Umożliwia to implementację „diagramów diamentowych”, w których wiele klas bazowych implementuje tę samą metodę. Dobry projekt nakazuje, aby takie implementacje miały tę samą sygnaturę wywołania w każdym przypadku (ponieważ kolejność wywołań jest określana w czasie wykonywania, ponieważ kolejność ta dostosowuje się do zmian w hierarchii klas i ponieważ kolejność ta może obejmować klasy rodzeństwa, które są nieznane przed uruchomieniem).

  W obu przypadkach typowe wywołanie superklasy wygląda następująco:

      class C(B):
          def method(self, arg):
              super().method(arg)    # This does the same thing as:
                                     # super(C, self).method(arg)

  Oprócz wyszukiwania metod, `super()` działa również dla wyszukiwania atrybut. Jednym z możliwych przypadków użycia jest wywołanie descriptors w klasie nadrzędnej lub podrzędnej.

  Note that `super()` is implemented as part of the binding process for explicit dotted attribute lookups such as `super().__getitem__(name)`. It does so by implementing its own `__getattribute__()` method for searching classes in a predictable order that supports cooperative multiple inheritance. Accordingly, `super()` is undefined for implicit lookups using statements or operators such as `super()[name]`.

  Należy również pamiętać, że poza formą zero argument, `super()` nie jest ograniczona do użycia wewnątrz metod. Dwie formy argumentów dokładnie określają argumenty i tworzą odpowiednie odniesienia. Forma zero argumentów działa tylko wewnątrz definicja klasy, ponieważ kompilator wypełnia niezbędne szczegóły, aby poprawnie pobrać definiowaną klasę, a także uzyskać dostęp do bieżącej instancji dla zwykłych metod.

  Praktyczne sugestie dotyczące projektowania klas współpracujących przy użyciu `super()` można znaleźć w poradniku korzystania z super().

class `tuple`([iterable])

  Zamiast być funkcja, `tuple` jest w rzeczywistości niezmiennym typem sekwencji, jak udokumentowano w Tuples i Sequence Types — list, tuple, range.

class `type`(object)
class `type`(name, bases, dict, **kwds)

  With one argument, return the type of an object. The return value is a type object and generally the same object as returned by `object.__class__`.

  Funckja wbudowana `isinstance()` jest zalecana do testowania typu obiektu, ponieważ uwzględnia podklasa.

  With three arguments, return a new type object. This is essentially a dynamic form of the `class` statement. The name string is the class name and becomes the `__name__` attribute. The bases tuple contains the base classes and becomes the `__bases__` attribute; if empty, `object`, the ultimate base of all classes, is added. The dict dictionary contains attribute and method definitions for the class body; it may be copied or wrapped before becoming the `__dict__` attribute. The following two statements create identical `type` objects:

      >>> class X:
      ...     a = 1
      ...
      >>> X = type('X', (), dict(a=1))

  See also Type Objects.

  Argument nazwane dostarczone do trzech formularzy argumenty są przekazywane do odpowiedniego mechanizmu metaklas (zwykle `__init_subclass__()`) w taki sam sposób, jak słowa kluczowe w definicja klasy (poza metaclass).

  Zobacz także Customizing class creation.

  Zmienione w wersji 3.6: Subclasses of `type` which don’t override `type.__new__` may no longer use the one-argument form to get the type of an object.

`vars`([object])

  Return the `__dict__` attribute for a module, class, instance, or any other object with a `__dict__` attribute.

  Objects such as modules and instances have an updateable `__dict__` attribute; however, other objects may have write restrictions on their `__dict__` attributes (for example, classes use a `types.MappingProxyType` to prevent direct dictionary updates).

  Without an argument, `vars()` acts like `locals()`. Note, the locals dictionary is only useful for reads since updates to the locals dictionary are ignored.

  Wyjątek `TypeError` jest rzucony, jeśli obiekt jest określony, ale nie ma `__dict__` atrybut (na przykład, jeśli jego klasa definiuje `__slots__` atrybut ).

`zip`(*iterables, strict=False)

  Iteruje równolegle po kilku iterables, tworząc krotke z elementem z każdej z nich.

  Przykład:

      >>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):
      ...     print(item)
      ...
      (1, 'sugar')
      (2, 'spice')
      (3, 'everything nice')

  Bardziej formalnie: `zip()` zwraca i iterator z krotka, gdzie i-ty krotka zawiera i-ty element z każdego z argument iterable .

  Innym sposobem myślenia o `zip()` jest to, że zamienia wiersze w kolumny, a kolumny w wiersze. Jest to podobne do przekształcania macierzy.

  `zip()` jest leniwy: Elementy nie będą przetwarzane, dopóki iterable nie zostanie poddany iteracji, np. przez pętlę `for` lub przez zawinięcie w `list`.

  Jedną rzeczą, którą należy wziąć pod uwagę, jest to, że iterable przekazywane do `zip()` mogą mieć różne długości; czasami z założenia, a czasami z powodu błędu w kodzie, który przygotował te iterable. Python oferuje trzy różne podejścia do radzenia sobie z tym problemem:

  - Przez domyślny, `zip()` zatrzymuje się, gdy najkrótszy iterable jest wyczerpany. Zignoruje pozostałe elementy w dłuższym iterable, obcinając wynik do długości najkrótszego iterable:

        >>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum']))
        [(0, 'fee'), (1, 'fi'), (2, 'fo')]

  - `zip()` jest często używana w przypadkach, gdy zakłada się, że iterable są równej długości. W takich przypadkach zaleca się użycie opcji `strict=True`. Jej wynik jest taki sam jak zwykłego `zip()`:

        >>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))
        [('a', 1), ('b', 2), ('c', 3)]

    W przeciwieństwie do domyślnego zachowania , rzuci `ValueError`, jeśli jeden iterable zostanie wyczerpany przed innymi:

        >>> for item in zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True):
        ...     print(item)
        ...
        (0, 'fee')
        (1, 'fi')
        (2, 'fo')
        Traceback (most recent call last):
          ...
        ValueError: zip() argument 2 is longer than argument 1

    Bez `strict=True` argumentu, każdy błąd, który skutkuje iterable o różnych długościach zostanie wyciszony, prawdopodobnie objawiając się jako trudny do znalezienia błąd w innej części programu.

  - Krótsze iterable mogą być uzupełnione stałą wartością, aby wszystkie iterable miały taką samą długość. Odbywa się to poprzez `itertools.zip_longest()`.

  Przypadki brzegowe: Z pojedynczym iterable argument, `zip()` zwraca iterator z 1-krotka. Bez argumentu, to zwraca pusty iterator.

  Wskazówki i porady:

  - Kolejność oceny od lewej do prawej strony iterable jest gwarantowana. Umożliwia to idiom grupowania serii danych w grupy o długości n przy użyciu `zip(*[iter(s)]*n, strict=True)`. Powtarza to tę samą iterator `n` razy, tak że każde wyjście krotka ma wynik wywołań `n` do iteratora. Powoduje to podzielenie danych wejściowych na fragmenty o długości n.

  - `zip()` w połączeniu z operatorem `*` może być użyty do rozpakowania listy:

        >>> x = [1, 2, 3]
        >>> y = [4, 5, 6]
        >>> list(zip(x, y))
        [(1, 4), (2, 5), (3, 6)]
        >>> x2, y2 = zip(*zip(x, y))
        >>> x == list(x2) and y == list(y2)
        True

  Zmienione w wersji 3.10: Dodano argument `strict` .

`__import__`(name, globals=None, locals=None, fromlist=(), level=0)

  Informacja

  Jest to zaawansowana funkcja, która nie jest potrzebna w codziennym programowaniu Pythona, w przeciwieństwie do `importlib.import_module()`.

  Ten funkcja jest wywoływany przez `import` instrukcja . Można go zastąpić (importując `builtins` moduł i przypisując do `builtins.__import__`) w celu zmiany semantyki `import` instrukcja , ale jest to bardżo odradzane, ponieważ zwykle prostsze jest użycie haków importu (zobacz PEP 302), aby osiągnąć te same cele i nie powoduje problemów z kodem, który zakłada, że implementacja importu domyślny jest w użyciu. Bezpośrednie użycie `__import__()` jest również odradzane na korzyść `importlib.import_module()`.

  Funkcja importuje moduł name, potencjalnie używając podanych globals i locals do określenia, jak interpretować nazwę w kontekście pakietu. fromlist podaje nazwy obiektów lub submodułów, które powinny zostać zaimportowane z moduł podanego przez name. Standardowa implementacja nie używa locals argumentu w ogóle i używa globals tylko do określenia kontekstu pakietu `import` instrukcja .

  level określa, czy ma być używany import bezwzględny czy względny. `0` (domyślnie) oznacza tylko import bezwzględny. Dodatnie wartości dla level wskazują liczbę katalogów nadrzędnych do przeszukania względem katalogu moduł wywołującego `__import__()` (zobacz PEP 328 dla szczegółów).

  Gdy zmienna name ma postać `package.module`, zwykle zwracany jest pakiet najwyższego poziomu (nazwa do pierwszej kropki), nie moduł nazwany przez name. Jednakże, gdy podana jest niepusta fromlist argument, zwracany jest moduł nazwany przez name.

  Na przykład, instrukcja `import spam` skutkuje kodem bajtowym przypominającym następujący kod:

      spam = __import__('spam', globals(), locals(), [], 0)

  Instrukcja `import spam.ham` skutkuje następującym połączeniem:

      spam = __import__('spam.ham', globals(), locals(), [], 0)

  Zauważ, że `__import__()` zwraca toplevel moduł tutaj, ponieważ jest to obiekt, który jest powiązany z nazwą przez `import` instrukcje .

  Z drugiej strony, instrukcja `from spam.ham import eggs, sausage as saus` skutkuje

      _temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)
      eggs = _temp.eggs
      saus = _temp.sausage

  Tutaj obiekt `spam.ham` jest zwracany z `__import__()`. Z tego obiektu pobierane są nazwy do zaimportowania i przypisywane do odpowiednich nazw.

  Jeśli chcesz po prostu zaimportować moduł (potencjalnie w ramach pakietu) według nazwy, użyj `importlib.import_module()`.

  Zmienione w wersji 3.3: Ujemne wartości dla level nie są już obsługiwane (co również zmienia wartość domyślny na 0).

  Zmienione w wersji 3.9: Gdy używane są opcje wiersza poleceń `-E` lub `-I`, opcja zmienna środowiskowa `PYTHONCASEOK` jest teraz ignorowana.

Przypisy

1

  Zwróć uwagę, że parser akceptuje tylko Unixowy styl końca linii. Jeśli wczytujesz kod z pliku, wykorzystaj konwersję linii aby przekonwertować style końca linii Winows albo Mac.