2.1 Wbudowane funkcje

Interpreter Pythona posiada pewną liczbę funkcji wbudowanych, które są dostępne w dowolnym momencie wykonania programu. Funkcje te zostaną wymienione w kolejności alfabetycznej.

__import__(nazwa[, globalne[, lokalne[, z_listy]]])
Funkcja ta jest wywoływana przez instrukcję import . Istnieje głównie dla umożliwienia zastąpienia jej przez inną o zgodnym interfejsie dla zmiany funkcjonalności instrukcji import. Dla przykładów objasniających jak oraz w jakim celu można to wykorzysytać warto zapoznać się ze standardowymi modułami bibliotecznymi ihooks oraz rexec . Pomocny jest również moduł imp definiujący kilka użytecznych operacji przy pomocy których można zbudować własną funkcję __import__().

Dla przykładu wyrażenie "import mielonka" w rezultacie powoduje następujące wywołanie: __import__('mielonka', globals(), locals(), []); natomiast wyrażenie "from mielonka.szynka import jajka" wywołuje "__import__('mielonka.szynka', globals(), locals(), ['jajka'])". Należy zwrócić uwagę na fakt, iż pomimo przekazywania zmiennych locals() oraz ['jajka'] jako argumentów, funkcja __import__() nie ustawia zmiennej lokalnej o nazwie jajka. Wykonuje to kod wygenerowany dla celów wyrażenia importującego. W rzeczywistości standardowa implementacja nie używa w ogóle argumentu locals, a argument globals jest używany wyłącznie dla określenia kontekstu pakietu dla wyrażenia import.

Gdy zmienna nazwa jest postaci pakiet.moduł zwykle zwracany jest pakiet z najwyższego poziomu (nazwa przed pierwszą kropką), nie zaś moduł o nazwie nazwa. Jednakże gdy zostanie podana niepusty argument z_listy, zwracany jest moduł o nazwie nazwa. Dzieje się tak dla zachowania kompatybilności kodu binarnego generowanego dla różnych rodzajów wyrażeń importu. Dla wywołania "import mielonka.szynka.jajka" w przestrzeni nazw wyrażenia importującego musi zostać umieszczony pakiet z najwyższego poziomu o nazwie szynka, lecz jeśli wywołamy "from mielonka.szynka import jajka" musi zostać użyty podpakiet mielonka.szynka dla odnalezienia zmiennej o nazwie jajka.

Jako obejście tego zachowania można użyć funkcji getattr() celem wydobycia odpowiednich komponentów. Dla przykładu, można zdefiniowac następującą funkcję pomocniczą:

import string

def my_import(name):
    mod = __import__(name)
    components = string.split(name, '.')
    for comp in components[1:]:
        mod = getattr(mod, comp)
    return mod

abs(x)
Zwraca wartość bezwzględną liczby. Argumentemmoże być zwykła lub długa liczba całkowita, względnie liczba zmiennoprzecinkowa. Jesli argumentem jest liczba zespolona, zwrócona zostanie jej magnitude

apply(funkcja, argumenty[, arg_kluczowe])
Argument funkcja musi być obiektem wywoływalnym (funkcją zdefiniowaną przez użytkownika lub wbudowaną, względnie obiektem klasy) a argument argumenty musi być sekwencją. Jeśli występuje opcjonalny argument arg_kluczowe musi być słownikiem z kluczami będącymi napisami. Określa argumenty opcjonalne dodawane na końcu listy argumentów. Wywołanie funkcji apply() różni się od zwykłego wywołania funkcja(argumenty), gdyż w tym przypadku istnieje zawsze dokładnie jeden argument. Jest natomiast równoważne wywołaniu funkcja(*argumenty, **arg_kluczowe). Dzięki dostępności takiej "rozszerzonej składni" wywołań funkcji, wykorzystanie funkcji apply() jest zupełnie opcjonalne.

bool(x)
Zwraca wartość parametru przekształconą na typ Boolean, wykorzystując standardową procedurę. W przypadku, gdy wartość x jest równoważna wartości fałszywej, zwracana jest wartość False, w przeciwnym przypadku zwracana jest wartość True. bool jest również klasą, potomną klasy int. Klasa bool nie może być już klasą bazową dziedziczenia. Jedynymi egzemplarzami tej klasy są False oraz True.   Dodano w wersji 2.2.1.

buffer(obiekt[, przesunięcie[, rozmiar]])
Argument obiekt musi być obiektem obsługującym interfejs wywołania buforującego (jak napisy, tablice czy bufory). Zostanie utworzony nowy bufor odwołujący się do obiektu obiekt. Obiekt bufora wynikowego będzie wykrojeniem od początku obiektu obiekt (lub od miejsca określonego przez przesunięcie). Wykrojenie będzie się rozciągać do końca obiektu obiekt (lub będzie miało rozmiar określony przez rozmiar).

callable(obiekt)
Zwraca wartość prawda gdy argument określony przez obiekt jest obiektem wywoływalnym, w przeciwnym wypadku zwracana jest wartość fałsz. Gdy ta funkcja zwróci wartość prawdziwą nadal możliwe jest niepowodzenie wywołania obiektu, natomiast gdy zostanie zwrócona wartość fałszywa, wywołanie obiektu obiekt nigdy się nie powiedzie. Należy zwrócić uwagę, że klasy są wywoływalne (wywołanie klasy zwraca jej nowy egzemplarz). Egzemplarze klas sa wywoływalne gdy posiadają metodę __call__().

chr(i)
Zwraca napis składający się z jednego znaku, którego kod ASCII jest równy liczbie całkowitej i. Na przykład chr(97) zwróci napis 'a'. Jest to funkcja odwrotna do ord(). Argument musi być z przedziału [0..255] włącznie. Gdy i jest spoza tego przedziału, zostanie wywołany ValueError.

classmethod(function)
Zwraca metodę klasy dla funkcji function.

Metoda klasowa oczekuje klasy w swoim pierwszym argumencie, podobnie, jak metoda egzemplarza oczekuje w pierwszym argumencie samego egzemplarza. Metodę klasy można zdefiniować w następujący sposób:

class C:
    def f(klasa, arg1, arg2, ...): ...
    f = classmethod(f)

Metodę klasy można wywołać bezpośrednio z obiektu klasy (na przykład C.f()) lub z egzemplarza (n.p. C().f()). Wszystkie własności, za wyjątkiem klasy egzemplarza są w takim przypadku ignorowane. Jeśli metoda klasy jest wywoływana dla klasy potomnej, w pierwszym argumencie metody zostanie przekazana klasa potomna.

Metody klas mają odmienne działanie od metod statycznych języków C++ lub Java. Podobne działanie udostępnia . Dodano w wersji 2.2.

cmp(x, y)
Porównuje dwa obiekty x oraz y i zwraca liczbę całkowitą. Wynik jest liczbą ujemną, gdy x < y, zerem gdy x == y a liczbą dodatnia dla x > y.

coerce(x, y)
Zwraca krotkę zawierającą dwa argumenty numeryczne skonwertowane do wspólnego typu, z wykorzystaniem tych samych zasad co dla operacji arytmetycznych.

compile(napis, nazwa_pliku, rodzaj[, znaczniki[, bez_dziedziczenia]])
Kompiluje napis do obiektu kodu. Obiekty kodu mogą być wykonywane przez instrukcję exec lub wyliczane poprzez wywołanie funkcji eval(). Argument nazwa_pliku powinien okreslać nazwę pliku z którego odczytano kod. Gdy kod nie został odczytany z pliku, można przekazać jakąś rozsądną wartość (często stosowaną wartością jest '<string>'). Argument rodzaj określa rodzaj kodu do kompilacji. Może mieć wartość 'exec' jeśli składa się z sekwencji instrukcji lub 'eval' jeśli składa się z jednego wyrażenia lub 'single' jeśli składa się z pojedyńczej instrukcji interaktywnej (w tym ostatnim przypadku wypisane zostaną wyniki instrukcji wyliczjących się do wartości innej niż None).

W przypadku, gdy kompilowane są instrukcje wielowierszowe, należy zwrócić uwagę na nastepujące szczegóły: sekwencje końca wiersza muszą być reprezentowane przez pojedynczy znak końca wiersza ('\ n'), a ponadto cała instrukcja musi kończyć się przynajmniej jednym znakiem końca wiersza. W przypadku, gdy końce wierszy są reprezentowane przez sekwencje '\r\n', należy wykorzystać metodę replace() w celu zamiany ich na znaki '\n'.

Opcjonalne argumenty znaczniki oraz bez_dziedziczenia (które zostały wprowadzone w wersji 2.2 Pythona) kontrolują wpływ przyszłych własności na kompilację argumentu napis (patrz: PEP 236). Jeśli żaden z tych argumentów nie jest dostępny (lub obydwa mają wartość zerową), kod zostanie skompilowany z opcjami przyszłymi odpowiednimi dla kodu wywołującego kompilację. Jeśli określony zostanie argument znaczniki a bez_dziedziczenia zostanie pominięty lub będzie posiadał wartość zerową, kod zostanie skompilowany z własnościami przyszłymi określonymi przez znaczniki jak również z odziedziczonymi ze środowiska wywołującego kompilację. Jeśli argument bez_dziedziczenia zostanie określony i będzie miał niezerową wartość, wszelkie własności przyszłe muszą zostać określone przez argument znaczniki - własności przyszłe uaktywnione w środowisku wywołującym kompilację zostaną zignorowane.

Przyszłe własności są określane przez znaczniki bitowe, które mogą być poddawane operacjom bitowej alternatywy w celu połączenia w znaczniki określające wiele instrukcji. Atrybut określający daną własność może zostać odczytany z egzemplarza klasy _Feature w module __future__.

complex(rzeczywista[, urojona])
Tworzy liczbę zespoloną o wartości rzeczywista + urojona*j lub dokonuje konwersji napisu lub liczby na liczbę zespoloną. Jeśli pierwszy argument jest napisem, zostanie zinterpretowany jako zapis liczby zespolonej. W tym przypadku funkcja musi zostać wywołana bez drugiego argumentu. Drugi z parametrów nie może być napisem. Każdy z argumentów może być dowolnego typu liczbowego (również zespolonego). Gdy pominięty zostanie argument urojona zostaje użyta wartość domyślna równa zeru i funkcja complex() służy jako funkcja konwersji liczbowej, podobnie jak int(), long() czy float().

delattr(obiekt, nazwa)
Jest to fukcja pokrewna funkcji setattr(). Argumentami są obiekt i napis. Napis musi być nazwą jednego z atrybutów obiektu. Funkcja usuwa podany atrybut pod warunkiem umożliwienia przez obiekt takiej operacji. Przykładowo: delattr(x, 'costam') jest równoznaczne del x.costam.

dict([mapping-or-sequence])
Zwraca nowy słownik zainicjowany za pomocą opcjonalnego argumentu. Jeśli argument opcjonalny nie zostanie podany, zwrócony zostanie pusty słownik. Jeśli argument jest obiektem odwzorowującym, zwrócony zostanie słownik odwzorowujący klucze odpowiadającym im wartościom w obiekcie przekazanym w parametrze. W przeciwnym wypadku argument musi być sekwencją, kontenerem obsługującym iterację lub obiektem iteratora. Elementy argumentu muszą również być obiektami dowolnego z tych typów i zawierać dokłądnie po dwa obiekty. Pierwszy z nich zostanie użyty jako klucz w słowniku, drugi jako odpowiadająca mu wartość. Jeśli dany klucz wystąpi więcej niż raz, w tworzonym słowniku zostanie mu przypisana wartość, która wystąpi ostatnia.

Wszystkie poniższe przykłady zwrócą słownik odpowiadający następującemu: {1: 2, 2: 3}:

Dodano w wersji 2.2.

dir([obiekt])
Funkcja wywołana bez argumentów zwraca listę nazw z lokalnej tablicy symboli. Wywołana z argumentem usiłuje zwrócić listę prawidłowych atrybutów wskazanego obiektu. Taka informacja jest uzyskiwana z atrybutu __dict__, o ile jest zdefiniowany, oraz z obiektu klasy lub typu. Wynikowa lista nie musi być kompletna. Jeśli obiekt jest obiektem modułu, lista zawiera nazwy atrybutów modułu. Jeśli obiekt jest obiektem typu lub klasy, lista zawiera nazwy atrybutów obiektu oraz rekurencyjnie nazwy atrybutów klas macierzystych. W przeciwnym wypadku lista zawiera nazwy atrybutów obiektu, nazwy atrybutów klasy oraz rekurencyjnie nazwy atrybutów klas bazowych klasy obiektu. Wynikowa lista jest posortowana alfabetycznie, na przykład:

>>> import struct
>>> dir()
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct)
['__doc__', '__name__', 'calcsize', 'error', 'pack', 'unpack']

Notka: Funkcja dir() została zaprojektowana jako funkcja pomocnicza podczas pracy w trybie interaktywnym interpretera, dlatego jest zorientowana na udostępnianie listy interesujących nazw, nie zaś listy rygorystycznie i konsekwentnie określonych nazw. Szczegółowe działanie tej funkcji może różnić się w różnych wydaniach języka.

divmod(a, b)
Funkcja przyjmuje dwie liczby (typów różnych od zespolonego) i zwraca parę liczb bedących wynikiem dzielenia całkowitego argumentów oraz resztą z takiego dzielenia w interpretacji dzielenia długich liczb całkowitych. Dla różnych typów argumentów mają zastosowanie zasady arytmetyczne. Dla zwykłych i długich liczb całkowitych wynik jest taki sam jak dla: (a / b, a % b). Dla liczb zmiennoprzecinkowych wynik jest równoznaczny z: (q, a % b), gdzie q oznacza zwykle math.floor(a / b) lecz może być mniejszy o 1 od tego wyniku. Niezależnie od tego q * b + a % b jest bardzo bliskie a, jeśli a % b n ie jest równe zeru posiada ten sam znak co b, oraz 0 <= abs(a % b) < abs(b).

Zmieniono w wersji 2.3: Wywołanie funkcji divmod() z argumentami będącymi liczbami zespolonymi nie będzie dopuszczalne w przyszłych wersjach języka (jest funkcjonalnością przestarzałą).

enumerate(iterable)
Zwraca obiekt wyliczenia. Parametr iterable musi być sekwencją, iteratorem lub innym obiektem obsługującym protokół iteracji. Metoda next() iteratora zwróconego z funkcji enumerate() zwraca krotkę zawierającą kolejny numer elementu (licząc od zera) oraz odpowiadający temu numerowi element parametru iterable. Funkcja enumerate() jest użyteczna w celu uzyskania poindeksowanej serii typu: (0, seq[0]), (1, seq[1]), (2, seq[2]), .... Dodano w wersji 2.3.

eval(wyrażenie[, globalne[, lokalne]])
Argumentami funkcji są: napis oraz dwa opcjonalne słowniki. Argument wyrażenie jest wyliczany jako wyrażenie Pythona (z technicznego punktu widzenia jako lista warunków) z użyciem słowników globalne i lokalne definiujących globalną i lokalną przestrzeń nazw. Jeśli słownik lokalne zostanie podany, lecz nie będzie miał zdefiniowanego atrybutu '__builtins__', przed wyliczeniem wyrażenia wyrażenie parametrowi globalne zostanie przypisany słownik obiektów globalnych. Oznacza to, że standardowo wyrażenie ma pełny dostęp do standardowego modułu __builtin__ a środowiska o ograniczonym dostępie są propagowane do wyliczanych wyrażeń. Jeśli słownik lokalne zostanie pominięty jego wartość zostanie domyslnie ustawiona na globalne. Jeśli pominięte zostaną oba argumenty słownikowe, wyrażenie zostaje wywołane w tym samym środowisku co wywołanie funkcji eval. Wartość zwracana równa jest wartości wyliczanej z wyrażenia. Przykład:

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

Funkcja eval może również być używana dla wykonywania obiektów kodu (n.p. utworzonych przy pomocy funkcji compile()). W tym przypadku funkcji przekazuje się obiekt kodu zamiast napisu. Obiekt kodu musi zostać skompilowany z opcją rodzaj ustawioną na 'eval'.

Wskazówka: dynamiczne wywoływanie instrukcji jest obsługiwane przez instrukcję exec. Wykonywanie instrukcji z pliku jest obsługiwane przez funkcję execfile(). Funkcje globals() oraz locals() zwracają odpowiednio globalną i lokalną przestrzeń nazw, co może okazać się użyteczne dla wywoływania funkcji eval() czy też execfile().

execfile(plik[, globalne[, lokalne]])
Funkcja ta jest podobna w działaniu do instrukcji exec, ale wczytuje i wykonuje zawartość pliku zamiast napisu. Różni się tym od instrukcji import, że nie wykorzystuje administracji modułami -- wczytuje plik bezwarunkowo i nie tworzy nowego modułu 2.2

Argumentami są nazwa pliku oraz dwa opcjonalne słowniki. Plik jest wczytywany i wykonywany jako sekwencja instrukcji Pythona (podobnie jak moduł) z wykorzystaniem słowników globalne i lokalne jako globalnej i lokalnej przestrzeni nazw. Jeśli słownik lokalne zostanie pominięty jego wartość zostaje domyslnie ustawiona na globalne. Jeśli pominięte zostaną oba argumenty słownikowe, wyrażenie zostaje wywołane w tym samym środowisku co wywołanie funkcji execfile(). Wartością zwracaną z funkcji jest None.

Ostrzeżenie: Domyślna wartość parametru lokalne działa tak, jak opisano poniżej dla funkcji locals(): nie należy modyfikować domyślnego słownika lokalne. W celu zachowania modyfikacji w słowniku lokalne (wykonanych w wyniku działania funkcji execfile()) należy raczej przekazać go w sposób jawny. Funkcja execfile() nie może zostać użyta w celu wiarygodnej modyfikacji lokalnego środowiska wywołującej ją funkcji.

file(filename[, mode[, bufsize]])
Zwraca nowy obiekt plikowy (omówiony w sekcji "Typy wbudowane". Pierwsze dwa argumenty są takie same, jak w przypadku funkcji fopen() biblioteki stdio języka C: filename jest nazwą plika, który ma zostać otwarty, natomiast mode określa tryb otwarcia pliku: 'r' dla odczytu, 'w' dla zapisu (czyszcząc starą zawartość pliku) oraz 'a' dla otwarcia w trybie dopisywania na końcu pliku (co na niektórych wersjach systemu Unix oznacza, że wszystkie zapisy są dokonywane na końcu pliku, niezależnie od aktualnej pozycji w pliku).

Tryby 'r+', 'w+' oraz 'a+' otwierają plik do aktualizacji (tryb 'w+' jednak wyczyści zawartość pliku). Do trybu można dopisać opcję 'b', co spowoduje otwarcie pliku w trybie binarnym. Ma to znaczenie w systemach, w których rozróżniany jest tryb tekstowy i binarny, na pozostałych opcja ta jest ignorowana. Jeśli pliku nie można otworzyć, wywoływany jest wyjątek klasy IOError.

Oprócz standardowych trybów funkcji fopen() można zastosować tryb 'U' oraz 'rU'. Jeśli w Pythonie jest aktywna uniwersalnej obsługi sekwencji zakończenia wierszy (domyślnie uaktywniana w procesie kompilacji) plik zostanie otwarty w trybie tekstowym a wiersze mogą być zakończone dowolną kombinacją sekwencji końca wiersza: uniksową '\n', makintoshową '\r' lub windowsową '\r\n'. Wszystkie te sekwencje będą w programie pythonowym widziane jako '\n'. jeśli Python nie ma uaktywnionej uniwersalnej obsługi sekwencji zakończenia wierszy tryb 'U' będzie identyczny z trybem tekstowym. Należy pamiętać, że obiekt plikowy otwarty w trybie z uniwersalną obsługą sekwencji zakończenia wierszy będzie miał udostępniony atrybut newlines o wartości None (jeśli w pliku nie zostały odczytane żadne sekwencje zakończenia wierszy), '\n', '\r', '\r\n' lub o wartości krotki zawierającej wszystkie napotkane sekwencje zakończeń wierszy.

W przypadku, gdy zostanie pominięty parametr mode, domyślnie zostaje przyjęta wartość 'r'. W przypadku otwierania pliku binarnego w celu zwiększenia przenośności kodu należy stosować opcję 'b' (nawet w przypadku systemów ignorujących tę opcję zwiększa to czytelność tworzonego kodu).

  Opcjonalny parametr bufsize określa porządany rozmmiar bufora dla pliku: 0 oznacza brak buforowania, 1 oznacza buforowanie pojedynczych wierszy, każda inna wartość dodatnia określa w przybliżeniu rozmiar bufora. Wartość ujemna parametry bufsize oznacza, że zastosowana zostanie systemowa wartość domyślna, co dla urządzeń tty oznacza zwykle buforowanie pojedynczych wierszy oraz pełne buforowanie dla pozostałych plików. Parametr ten domyślnie przyjmuje ustawienia systemowe.2.3

Konstruktor file() został dodany w Pythonie 2.2. Poprzednia wersja -- open() -- została zachowana w celu zgodności wstecz i stanowi alias dla file().

filter(funkcja, lista)

Construct a list from those elements of list for which function returns true. If list is a string or a tuple, the result also has that type; otherwise it is always a list. If function is None, the identity function is assumed, i.e. all elements of list that are false (zero or empty) are removed.

Construct a list from those elements of list for which function returns true. list may be either a sequence, a container which supports iteration, or an iterator, If list is a string or a tuple, the result also has that type; otherwise it is always a list. If function is None, the identity function is assumed, that is, all elements of list that are false (zero or empty) are removed.

Zwraca listę z tych elementów argumentu lista, dla których wywołanie funkcji funkcja zwróci wartośc prawdziwą. Parametr lista może być sekwencją, kontenerem obsługującym protokół iteracji lub iteratorem. Jeśli lista jest napisem lub krotką, wynik również jest tego typu. W każdym innym przypadku zwracana jest lista. Jeśli funkcja równa jest None, wykorzystywana jest funkcja identyfikująca, to znaczy zostają usunięte wszystkie elementy z argumentu lista, których wartości są równoważne wartości fałszywej (to znaczy mają wartość zero lub są puste).

float(x)
Przekształca napis lub liczbę na liczbę zmiennoprzecinkową. Jeśli argument jest napisem musi reprezentować liczbę całkowitą lub zmiennoprzecinkową ze znakiem lub bez ewentualnie otoczoną białymi znakami. W takim przypadku zachowanie tej funkcji jest identyczne do string.atof(x). Alternatywnie argument może być liczbą całkowitą zwykłą lub długą lub też liczbą zmiennoprzecinkową. W tej sytuacji zwracana jest liczba zmiennoprzecinkowa o tej samej wartości (z dokładnością liczb zmiennoprzecinkowych Pythona).

Notka: Dla argumentu będącego napisem mogą być zwrócone wartości NaN oraz Infinity w zależności od biblioteki w C na której zbudowano system Pythona. Konkretny zestaw napisów dla których zwracane są te wartości jest uzależniony wyłącznie od wspomnianej biblioteki w C i różni się dla różnych implementacji.

getattr(obiekt, nazwa[, domyślnie])
Zwraca wartość nazwanego atrybutu obiektu obiekt. nazwa musi być napisem. Jeśli napis jest nazwą jednego z atrybutów obiektu, w wyniku zwracana jest wartość tego atrybutu. Przykładowo getattr(x, 'costam') jest równoznaczne z x.costam. Jeśli nazwany atrybut nie istnieje zwracana jest wartość określona opcjonalnym parametrem domyślnie, gdy jednak parametr ten nie został podany wywoływany jest wyjątek AttributeError.

globals()
Zwraca słownik reprezentujący bieżącą tablicę symboli globalnych. Jest to zawsze słownik bieżącego modułu (wewnątrz funkcji lub metody jest to moduł, w którym dana funkcja lub metoda zostały zdefiniowane, nie zaś moduł w którym nastąpiło ich wywołanie).

hasattr(obiekt, nazwa)
Argumentami są obiekt i napis. Wynikiem jest 1 jeśli napis jest nazwą jednego z atrybutów obiektu, 0 w przeciwnym wypadku (funkcja ta jest zaimplementowana poprzez wywołanie getattr(obiekt, nazwa) i sprawdzenie, czy zostaje wywołany wyjątek).

hash(obiekt)
Zwraca wartość hash obiektu (jesli ją posiada). Wartości hash są liczbami całkowitymi. Są używane dla szybkiego porównywania kluczy podczas przeszukiwania słowników. Zmienne numeryczne o jednakowej wartości posiadają tę samą wartośc hash (nawet jeśli są różnych typów, jak na przykład 1 i 1.0).

help([object])
Wywołuje wbudowany system pomocy. Funkcja ta jest przeznaczona do wykorzystania w trakcie pracy w trybie interaktywnym. Jeśli nie zostaną podane parametry system pomocy zostanie uruchomiony w trybie interaktywnym na konsoli interpretera. Jeśli argument jest napisem, zostanie potraktowany jako nazwa modułu, funkcji, klasy, metody, słowo kluczowe lub temat w dokumentacji i po odnalezieniu odpowiedniej zawartości zostanie ona wypisana na konsoli. Jeśli argument jest dowolnym innym obiektem, zostanie wypisana pomoc na jego temat. Dodano w wersji 2.2.

hex(x)
Przekształaca wartość całkowitą (zwykłą lub długą) na napis będący jej zapisem szesnastkowym. Wynik jest pełnowartościowym wyrażeniem Pythona. Uwaga: w wyniku zawsze uzyskamy literał bez znaku, n.p. na maszynie 32-bitowej hex(-1) daje w wyniku '0xffffffff'. Kiedy porównywane na maszynie o takiej samej długości słowa literał ten jest wyliczany jako -1, na maszynie o innej długości słowa może okazać się dużą liczbą całkowitą dodatnią lub też wywołać wyjątek OverflowError.

id(object)
Zwraca "identyfikator" obiektu. Jest to liczba całkowita (zwykła lub długa) która ma gwarancję unikalności i niezmienności dla danego obiektu podczas cyklu jego życia. Obiekty, których cykle życia nie pokrywają się mogą posiadać tę samą wartość id() (uwaga implementacyjna: jest to adres obiektu w pamięci).

input([prompt])
Funkcja równoznaczna z eval(raw_input(prompt)). Ostrzeżenie: Funkcja ta nie jest odporna na błędy użytkownika! Oczekuje prawidłowego wyrażenia Pythona wpisanego na wejściu. Jeśli wprowadzone wyrażenie nie jest składniowo poprawne zostanie wywołany SyntaxError. W przypadku napotkania innych błedów podczas przetwarzania wyrażenia mogą zostać wywołane inne wyjątki (z drugiej strony taka funkcjonalnośc może być pożądana w przypadku szybkich skryptów do wykorzystania przez ekspertów).

Jeśli załadowany został moduł readline, funkcja input() wykorzysta go dla umożliwienia edycji wyrażenia oraz funkcjonalności historii wprowadzonych wyrażeń.

Dla implementacji pobierania danych od użytkownika warto wykorzystać funkcję raw_input().

int(x[, system])
Przekształca napis lub liczbę na liczbe całkowitą. Jeśli argument jest napisem, musi reprezentować liczbę całkowitą Pythona ewentualnie otoczoną białymi znakami. W takiej sytuacji funkcja zachowuje się identycznie z string.atoi(x[,system]). Parametr system definiuje system zapisu liczb i może być liczbą całkowitą w przedziale [2, 36] lub zerem. Jeśli system jest zerem prawidłowy system jest określany na podstawie zawartości napisu. Interpretacja jest identyczna z tą wykorzystywaną przy literałach liczb całkowitych. Jeśli system jest zdefiniowany a x nie przedstawia liczby wywoływany jest TypeError.

Alternatywnie argument może być liczbą całkowitą (zwykłą lub długą) lub liczbą zmiennoprzecinkową. Konwersja liczb zmiennoprzecinkowych na całkowite zaokrągla liczby w kierunku zera.

intern(string)
Enter string in the table of ``interned'' strings and return the interned string - which is string itself or a copy. Interning strings is useful to gain a little performance on dictionary lookup - if the keys in a dictionary are interned, and the lookup key is interned, the key comparisons (after hashing) can be done by a pointer compare instead of a string compare. Normally, the names used in Python programs are automatically interned, and the dictionaries used to hold module, class or instance attributes have interned keys. Zmieniono w wersji 2.3: Interned strings are not immortal (like they used to be in Python 2.2 and before); you must keep a reference to the return value of intern() around to benefit from it.

isinstance(object, classinfo)
Return true if the object argument is an instance of the classinfo argument, or of a (direct or indirect) subclass thereof. Also return true if classinfo is a type object and object is an object of that type. If object is not a class instance or an object of the given type, the function always returns false. If classinfo is neither a class object nor a type object, it may be a tuple of class or type objects, or may recursively contain other such tuples (other sequence types are not accepted). If classinfo is not a class, type, or tuple of classes, types, and such tuples, a TypeError exception is raised. Zmieniono w wersji 2.2: Support for a tuple of type information was added.

issubclass(class, classinfo)
Return true if class is a subclass (direct or indirect) of classinfo. A class is considered a subclass of itself. classinfo may be a tuple of class objects, in which case every entry in classinfo will be checked. In any other case, a TypeError exception is raised. Zmieniono w wersji 2.3: Support for a tuple of type information was added.

iter(o[, sentinel])
Return an iterator object. The first argument is interpreted very differently depending on the presence of the second argument. Without a second argument, o must be a collection object which supports the iteration 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 o must be a callable object. The iterator created in this case will call o 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. Dodano w wersji 2.2.

len(s)
Return the length (the number of items) of an object. The argument may be a sequence (string, tuple or list) or a mapping (dictionary).

list([sequence])
Return a list whose items are the same and in the same order as sequence's items. sequence may be either a sequence, a container that supports iteration, or an iterator object. If sequence is already a list, a copy is made and returned, similar to sequence[:]. For instance, list('abc') returns ['a', 'b', 'c'] and list( (1, 2, 3) ) returns [1, 2, 3].

locals()
Update and return a dictionary representing the current local symbol table. Ostrzeżenie: The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter.

long(x[, radix])
Convert a string or number to a long integer. If the argument is a string, it must contain a possibly signed number of arbitrary size, possibly embedded in whitespace; this behaves identical to string.atol(x). The radix argument is interpreted in the same way as for int(), and may only be given when x is a string. Otherwise, the argument may be a plain or long integer or a floating point number, and a long integer with the same value is returned. Conversion of floating point numbers to integers truncates (towards zero).

map(function, list, ...)
Apply function to every item of list and return a list of the results. If additional list arguments are passed, function must take that many arguments and is applied to the items of all lists in parallel; if a list is shorter than another it is assumed to be extended with None items. If function is None, the identity function is assumed; if there are multiple list arguments, map() returns a list consisting of tuples containing the corresponding items from all lists (a kind of transpose operation). The list arguments may be any kind of sequence; the result is always a list.

max(s[, args...])
With a single argument s, return the largest item of a non-empty sequence (such as a string, tuple or list). With more than one argument, return the largest of the arguments.

min(s[, args...])
With a single argument s, return the smallest item of a non-empty sequence (such as a string, tuple or list). With more than one argument, return the smallest of the arguments.

oct(x)
Convert an integer number (of any size) to an octal string. The result is a valid Python expression. Note: this always yields an unsigned literal. For example, on a 32-bit machine, oct(-1) yields '037777777777'. When evaluated on a machine with the same word size, this literal is evaluated as -1; at a different word size, it may turn up as a large positive number or raise an OverflowError exception.

open(filename[, mode[, bufsize]])
An alias for the file() function above.

ord(c)
Return the ASCII value of a string of one character or a Unicode character. E.g., ord('a') returns the integer 97, ord(u'
u2020')
returns 8224. This is the inverse of chr() for strings and of unichr() for Unicode characters.

pow(x, y[, z])
Return x to the power y; if z is present, return x to the power y, modulo z (computed more efficiently than pow(x, y) % z). The arguments must have numeric types. With mixed operand types, the coercion rules for binary arithmetic operators apply. For int and long 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, 10**2 returns 100, but 10**-2 returns 0.01. (This last feature was added in Python 2.2. In Python 2.1 and before, if both arguments were of integer types and the second argument was negative, an exception was raised.) If the second argument is negative, the third argument must be omitted. If z is present, x and y must be of integer types, and y must be non-negative. (This restriction was added in Python 2.2. In Python 2.1 and before, floating 3-argument pow() returned platform-dependent results depending on floating-point rounding accidents.)

property([fget[, fset[, fdel[, doc]]]])
Return a property attribute for new-style classes (classes that derive from object.

fget is a function for getting an attribute value, likewise fset is a function for setting, and fdel a function for del'ing, an attribute. Typical use is to define a managed attribute x:

class C(object):
    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.")

Dodano w wersji 2.2.

range([start,] stop[, step])
This is a versatile function to create lists containing arithmetic progressions. It is most often used in for loops. The arguments must be plain integers. If the step argument is omitted, it defaults to 1. If the start argument is omitted, it defaults to 0. The full form returns a list of plain integers [start, start + step, start + 2 * step, ...]. If step is positive, the last element is the largest start + i * step less than stop; if step is negative, the last element is the largest start + i * step greater than stop. step must not be zero (or else ValueError is raised). Example:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(0, -10, -1)
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]

raw_input([prompt])
If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised. Example:

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

If the readline module was loaded, then raw_input() will use it to provide elaborate line editing and history features.

reduce(function, sequence[, initializer])
Apply function of two arguments cumulatively to the items of sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If the optional initializer is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. If initializer is not given and sequence contains only one item, the first item is returned.

reload(module)
Re-parse and re-initialize an already imported module. The argument must be a module object, so it must have been successfully imported before. This is useful if you have edited the module source file using an external editor and want to try out the new version without leaving the Python interpreter. The return value is the module object (the same as the module argument).

There are a number of caveats:

If a module is syntactically correct but its initialization fails, the first import statement for it does not bind its name locally, but does store a (partially initialized) module object in sys.modules. To reload the module you must first import it again (this will bind the name to the partially initialized module object) before you can reload() it.

When a module is reloaded, its dictionary (containing the module's global variables) is retained. Redefinitions of names will override the old definitions, so this is generally not a problem. If the new version of a module does not define a name that was defined by the old version, the old definition remains. This feature can be used to the module's advantage if it maintains a global table or cache of objects -- with a try statement it can test for the table's presence and skip its initialization if desired.

It is legal though generally not very useful to reload built-in or dynamically loaded modules, except for sys, __main__ and __builtin__. In many cases, however, extension modules are not designed to be initialized more than once, and may fail in arbitrary ways when reloaded.

If a module imports objects from another module using from ... import ..., calling reload() for the other module does not redefine the objects imported from it -- one way around this is to re-execute the from statement, another is to use import and qualified names (module.name) instead.

If a module instantiates instances of a class, reloading the module that defines the class does not affect the method definitions of the instances -- they continue to use the old class definition. The same is true for derived classes.

repr(object)
Return a string containing a printable representation of an object. This is the same value yielded by conversions (reverse quotes). It is sometimes useful to be able to access this operation as an ordinary function. 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().

round(x[, n])
Return the floating point value x rounded to n digits after the decimal point. If n is omitted, it defaults to zero. The result is a floating point number. Values are rounded to the closest multiple of 10 to the power minus n; if two multiples are equally close, rounding is done away from 0 (so. for example, round(0.5) is 1.0 and round(-0.5) is -1.0).

setattr(object, name, value)
This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. The string may name an existing attribute or a new attribute. The function assigns the value to the attribute, provided the object allows it. For example, setattr(x, 'foobar', 123) is equivalent to x.foobar = 123.

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 Numerical Python and other third party extensions. Slice objects are also generated when extended indexing syntax is used. For example: "a[start:stop:step]" or "a[start:stop, i]".

staticmethod(function)
Return a static method for function.

A static method does not receive an implicit first argument. To declare a static method, use this idiom:

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

It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class.

Static methods in Python are similar to those found in Java or C++. For a more advanced concept, see . Dodano w wersji 2.2.

super(type[object-or-type])
Return the superclass of type. If the second argument is omitted the super object returned is unbound. If the second argument is an object, isinstance(obj, type) must be true. If the second argument is a type, issubclass(type2, type) must be true.

A typical use for calling a cooperative superclass method is:

class C(B):
    def meth(self, arg):
        super(C, self).meth(arg)
Dodano w wersji 2.2.

str(object)
Return a string containing a nicely printable representation of an object. For strings, this returns the string itself. The difference with repr(object) is that str(object) does not always attempt to return a string that is acceptable to eval(); its goal is to return a printable string.

tuple([sequence])
Return a tuple whose items are the same and in the same order as sequence's items. sequence may be a sequence, a container that supports iteration, or an iterator object. If sequence is already a tuple, it is returned unchanged. For instance, tuple('abc') returns returns ('a', 'b', 'c') and tuple([1, 2, 3]) returns (1, 2, 3).

type(object)
Return the type of an object. The return value is a type object. The standard module types defines names for all built-in types that don't already have built-in names. For instance:

>>> import types
>>> x = 'abc'
>>> if type(x) is str: print "It's a string"
...
It's a string
>>> def f(): pass
...
>>> if type(f) is types.FunctionType: print "It's a function"
...
It's a function

The isinstance() built-in function is recommended for testing the type of an object.

unichr(i)
Return the Unicode string of one character whose Unicode code is the integer i. For example, unichr(97) returns the string u'a'. This is the inverse of ord() for Unicode strings. The argument must be in the range [0..65535], inclusive. ValueError is raised otherwise. Dodano w wersji 2.0.

unicode(object[, encoding[, errors]])
Return the Unicode string version of object using one of the following modes:

If encoding and/or errors are given, unicode() will decode the object which can either be an 8-bit string or a character buffer using the codec for encoding. The encoding parameter is a string giving the name of an encoding; if the encoding is not known, LookupError is raised. Error handling is done according to errors; this specifies the treatment of characters which are invalid in the input encoding. If errors is 'strict' (the default), a ValueError is raised on errors, while a value of 'ignore' causes errors to be silently ignored, and a value of 'replace' causes the official Unicode replacement character, U+FFFD, to be used to replace input characters which cannot be decoded. See also the codecs module.

If no optional parameters are given, unicode() will mimic the behaviour of str() except that it returns Unicode strings instead of 8-bit strings. More precisely, if object is a Unicode string or subclass it will return that Unicode string without any additional decoding applied.

For objects which provide a __unicode__() method, it will call this method without arguments to create a Unicode string. For all other objects, the 8-bit string version or representation is requested and then converted to a Unicode string using the codec for the default encoding in 'strict' mode.

Dodano w wersji 2.0. Zmieniono w wersji 2.2: Support for __unicode__() added.

vars([object])
Without arguments, return a dictionary corresponding to the current local symbol table. With a module, class or class instance object as argument (or anything else that has a __dict__ attribute), returns a dictionary corresponding to the object's symbol table. The returned dictionary should not be modified: the effects on the corresponding symbol table are undefined.2.4

xrange([start,] stop[, step])
This function is very similar to range(), but returns an ``xrange object'' instead of a list. This is an opaque sequence type which yields the same values as the corresponding list, without actually storing them all simultaneously. The advantage of xrange() over range() is minimal (since xrange() still has to create the values when asked for them) except when a very large range is used on a memory-starved machine or when all of the range's elements are never used (such as when the loop is usually terminated with break).

zip(seq1, ...)
This function returns a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences. At least one sequence is required, otherwise a TypeError is raised. The returned list is truncated in length to the length of the shortest argument sequence. When there are multiple argument sequences which are all of the same length, zip() is similar to map() with an initial argument of None. With a single sequence argument, it returns a list of 1-tuples. Dodano w wersji 2.0.


... modułu2.2
Jest używana stosunkowo rzadko, więc nie zdecydowano się na zdefiniowanie jej funkcjonalności w postaci instrukcji.
... systemowe.2.3
Określenie rozmiaru bufora na systemach, na których nie działa funkcja setvbuf() nie da żadnego rezultatu. Interfejs określający rozmiar bufora nei wykorzystuje funkcji setvbuf(), ponieważ w przypadku, gdy na pliku były wcześniej wykonywane operacje wejścia-wyjścia wywołanie tej funkcji może spowodować błąd krytyczny (core dump) a nie ma możliwości wiarygodnego upewnienia się, że taka sytuacja ma właśnie miejsce.
... undefined.2.4
In the current implementation, local variable bindings cannot normally be affected this way, but variables retrieved from other scopes (such as modules) can be. This may change.
Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.