W tym podrozdziale są opisane wybrane standardowe biblioteki języka Gython: builtin, string, math, random i datetime. Funkcje opisane tutaj są domyślnie dostępne dla skryptów Gythona i nie ma potrzeby importowania odpowiednich modułów. Zob. także dokumentacj bibliotek Pythona 2.1: http://python.org/doc/2.1/lib/lib.html).
Tabela 2.7. Wbydowane funkcje języka Gython. Zob. także Built-in Functions.
Nazwa funkcji | Składnia | Opis |
---|---|---|
__import__ | __import__(name[, globals[, locals[, fromlist]]]) | Za pomocą tej funkcji można zaimportować moduł Gythona, w tym także taki którego nazwa jest określana dopiero w trakcie wykonywania skryptu. |
abs | abs(x) | Zwraca wartość bezwzględną liczby całkowitej lub zmiennoprzecinkowej, lub oblicza moduł liczby zespolonej. |
apply | apply(function, args[, keywords]) | Wywołuje obiekt wykonywalny function przekazując elementy listy args jako argumenty pozycyjne i, opcjonalnie, wpisy ze słownika keywords jako argumenty przekazywane według nazwy. |
buffer | buffer(object[, offset[, size]]) | Tworzy wskaźnik (obiekt typu buffer) do obiektu object wskazujący na początek obiektu lub przesunięty o offset, opcjonalnie o długości size. |
callable | callable(object) | Zwraca True jeżeli object jest wywoływalny. |
chr | chr(i) | Zwraca literał składający się z jednego znaku o podanym kodzie ASCII i. |
cmp | cmp(x, y) | Porównuje obiekty x i y i zwraca wartość ujemną, jeżeli x < y, zero jeżeli x = y i wartość dodatnią jeżeli x > y. |
coerce | coerce(x, y) | Zwraca parę składającą się z dwóch liczbowych elementów zamienionych na wspólny typ liczbowy. |
compile | compile(string, filename, kind) | Kompiluje podany literał łańcuchowy string lub skrypt w pliku filename, zwracając obiekt kodu. Jeżeli kod do skompilowania jest podany w argumencie string, jako filename należy podać '<string>'. Argument kind określa rodzaj kodu: 'exec' - ciąg instrukcji, 'eval' - jedno wyrażenie, 'single' - jedno interaktywne polecenie. |
complex | complex(real[, imag]) | Tworzy liczbę zespoloną real + imag*j. |
delattr | delattr(object, name) | Kasuje atrybut obiektu object o nazwie name (nazwa atrybutu powinna być literałem). |
dir | dir([object]) | Bez argumentów zwraca listę nazw w bieżącej tabeli symboli, z argumentem zwraca listę atrybutów podanego obiektu. |
divmod | divmod(a, b) | Zwraca iloraz i resztę z dzielenia a przez b. |
eval | eval(expression[, globals[, locals]]) | Wykonuje kod zawarty w literale expression przy uwzględnieniu wartości zmiennych globalnych i lokalnych podanych w słownikach globals i locals. |
execfile | execfile(file[, globals[, locals]]) | Wykonuje kod zawarty w pliku file przy uwzględnieniu wartości zmiennych globalnych i lokalnych podanych w słownikach globals i locals. |
filter | filter(function, list) | Zwraca listę tych elementów listy list, dla których funkcja function zwraca True. Jeśli jako function poda się None, zwróci listę elementów o wartości logicznej True. |
float | float(x) | Zwraca literał łańcuchowy lub liczbę zamienione na liczbę zmiennoprzecinkową. |
getattr | getattr(object, name[, default]) | Zwraca wartość atrybutu name obiektu object, lub default, jeśli obiekt nie ma atrybutu o podanej nazwie (nazwa atrybutu powinna być literałem). |
globals | globals() | Zwraca słownik z zawartością bieżącej tablicy symboli globalnych. |
hasattr | hasattr(object, name) | Zwraca True jeśli obiekt object posiada atrybut o nazwie name (nazwa atrybutu powinna być literałem). |
hash | hash(object) | Zwraca skróconą (zmieszaną) wartość dla obiektu object. |
hex | hex(x) | Zwraca liczbę całkowitą x w postaci literału heksadecymalnego. Wynik może być wykorzystywany do budowy innych wyrażeń. |
id | id(object) | Zwraca tożsamość obiektu object, czyli liczbę całkowitą, która jednoznacznie identyfikuje dany obiekt w czasie jego istnienia. |
input | input([prompt]) | Działa tak samo, jak eval(raw_input(prompt)). |
int | int(x[, radix]) | Zamienia literał łańcuchowy lub zmienną liczbową na liczbę całkowitą, stosując radix jako podstawę. Jeżeli radix jest 0, próbuje odgadnąć podstawę z postaci liczby. |
intern | intern(string) | Dodaje literał string do listy zinternalizowanych literałów. Dzięki temu można przyspieszyć sprawdzanie wpisów w słownikach. |
isinstance | isinstance(object, class) | Zwraca True jeżeli obiekt object jest instancją klasy class, lub jeżeli class określa typ obiektu. |
issubclass | issubclass(class1, class2) | Zwraca True jeżeli klasa class1 jest pośrednią lub bezpośrednią podklasą klasy class2. |
len | len(s) | Zwraca liczbę elementów obiektu s, który może być ciągiem (literałem, krótką lub listą) lub słownikiem. |
list | list(sequence) | Zwraca listę o elementach podanych w ciągu sequence. |
locals | locals() | Zwraca słownik reprezentujący bieżące tablicę symboli lokalnych. |
long | long(x[, radix]) | Zamienia literał lub zmienną liczbową na liczbę całkowitą typu long, stosując radix jako podstawę. Jeżeli radix jest 0, próbuje odgadnąć podstawę z postaci liczby. |
map | map(function, list, ...) | Stosuje funkcję function do każdego elementu z listy i zwraca listę wyników. Jeżeli jako arumenty podane zostanie kilka list, funkcja function musi przyjmować tyle argumentów, ile podano list i zwracana jest lista wartośćdomyślie funkcji dla kolejnych zestawów argumentów, po jednym z każdej listy. Brakujące argumenty (ze zbyt krótkich list) są zastępowane przez None. |
max | max(s[, args...]) | Jeżeli argumentem jest jeden ciąg, zwraca jego największy element. Jeżeli argumenty to kilka wartości, zwraca największą z nich. |
min | min(s[, args...]) | Jeżeli argumentem jest jeden ciąg, zwraca jego najmniejszy element. Jeżeli argumenty to kilka wartości, zwraca najmniejszą z nich. |
oct | oct(x) | Zamienia liczbę całkowitą x na literał z jej reprezentacją o podstawie 8. |
open | open(filename[, mode[, bufsize]]) | Zwraca obiekt plikowy umożliwiający dostęp do pliku o nazwie filename; mode oznacza tryb dostępu: 'r' - odczyt, 'w' - zapis, 'a' - zapisywanie do końca pliku, 'r+' - odczyt i zapis, strumień na początku pliku, 'w+' - odczyt i zapis, istniejąca zawartość pliku jest kasowana, 'a+' - odczyt i zapis, strumień na końcu pliku; Aby otworzyć plik binarny (a nie tekstowy), do mode należy dołączyć znak 'b'. Domyślna wartość mode to r. Opcjonalny argument bufsize określa bufor dla danego pliku: wartości ujemne - bufor domyślny dla danego systemu, 0 - brak bufora, 1 - bufor wierszowy, inne wartości dodatnie określają przybliżony rozmiar bufora. |
ord | ord(c) | Zwraca kod ASCII jednoznakowego literału lub znaku Unicode. |
pow | pow(x, y[, z]) | Zwraca x do potęgi y (modulo z). |
range | range([start,] stop[, step]) | Zwraca listę, której elementy to kolejne wyrazy ciągu arytmetycznego od start (domyślnie 0), mniejsze od stop, oddalone od siebie o step. Wszystkie argumenty muszą być liczbami całkowitymi. |
raw_input | raw_input([prompt]) | Jeżeli podany jest argument prompt, zostanie wysłany do stdout (domyślnie konsola). Funkcja zwraca wiersz odczytany ze stdin (domyślnie klawiatura) i zwraca go w postaci literału łańcuchowego. |
reduce | reduce(function, sequence[, initializer]) | Za pomocą funkcji dwuargumentowej function redukuje ciąg sequence do jednego elementu. Opcjonalny argument initializer jest dodawany na początku ciągu i zwracany w sytuacji, gdy ciąg jest pusty. |
reload | reload(module) | Ponownie ładuje moduł module, np. po tym, jak został on zmieniony. |
repr | repr(object) | Zwraca literał zawierający reprezentację obiektu. |
round | round(x[, n]) | Zwraca liczbę zmiennoprzecinkową uzyskaną przez zaokrąglenie x do n miejsc po przecinku. |
setattr | setattr(object, name, value) | Przypisuje wartość value atrybutowi o nazwie name obiektu object. |
slice | slice([start,] stop[, step]) | Zwraca obiekt typu slice, zawierający indeksy określone przez range(start, stop, step). |
str | str(object) | Zwraca literał łańcuchowy z drukowalną reprezentacją obiektu. |
tuple | tuple(sequence) | Zwraca krotkę zawierającą takie same elementy jak ciąg sequence. |
type | type(object) | Zwraca typ obiektu. |
unichr | unichr(i) | Zwraca literał Unicode składający się ze znaku o podanym kodzie Unicode. |
unicode | unicode(string[, encoding[, errors]]) | Dekoduje literał string zgodnie z kodowanie encoding (domyślnie 'UTF-8). |
vars | vars([object]) | Bez podania argumentu zwraca słownik odpowiadający bieżącej tablicy symboli lokalnych. Jeżeli argument jest modułem, klasą lub instancją klasy, lub jakimkolwiek elementem posiadającym atrybut __dict__, zwraca słownik odpowiadający tablicy symboli argumentu. |
xrange | xrange([start,] stop[, step]) | Funkcja ta jest podobna do range(), z tą różnicą, że zwraca obiekt typu xrange, który generuje te same liczby, co lista, ale liczby te nie są wszystkie jednocześnie przechowywane w pamięci. |
zip | zip(seq1, ...) | Zwraca listę krótek, z których n-ta zawiera kolejno n-te elementy z ciągów podanych jako argumenty. Zwracana lista ma długość najkrótszego argumentu. |
Tabela 2.8. Funckje z modułu string. Zob. także String - common string operations
Nazwa funkcji | Składnia | Opis |
---|---|---|
capitalize | capitalize(word) | Zamienia pierwszą literę łańcucha word na wielką literę. |
capwords | capwords(s) | Zamienia na wielkie pierwsze litery słów w literale s. |
expandtabs | expandtabs(s[, tabsize]) | Zamienie tabulatory na jedną lub więcej spacji tak, aby wyrównać do najbliższej wielokrotności tabsize. |
find | find(s, sub[, start[,end]]) | Zwraca pierwszą pozycję w łańcuchu s, od której zaczyna się podłańcuch sub. Zakres przeszukiwania można ograniczyć do pozycji od start (do end). |
rfind | rfind(s, sub[, start[,end]]) | Zwraca najwyższą (ostatnią) pozycję w łańcuchu s, od której zaczyna się podłańcuch sub. Zakres przeszukiwania można ograniczyć do pozycji od start (do end). |
index | index(s, sub[, start[,end]]) | Działa podobnie jak find, ale zwraca błąd ValueError jeśli nie uda się znaleźć podłańcucha. |
rindex | rindex(s, sub[, start[,end]]) | Działa podobnie jak rfind, ale zwraca błąd ValueError jeśli nie uda się znaleźć podłańcucha. |
count | count(s, sub[, start[, end]]) | Zwraca liczbę wystąpień literału sub w s (pomiędzy pozycjami start i end). |
lower | lower(s) | Zwraca kopię oryginalnego literału s, w którym wszystkie wielkie litery alfabetu zastąpiono małymi. |
maketrans | maketrans(from, to) | Zwraca tabelę odpowiedników, którą można podać jako argument dla funkcji translate() lub regex.compile(), które zamienią każdy znak w literał from na znak występujące na tej samej pozycji w literale to. Oba argumenty muszą mieć taką samą długość. |
split | split(s[, sep[, maxsplit]]) | Zwraca listę zawierającą kolejne łańcuchy otrzymane z podzielenia literału s łańcuchem sep. Jeżeli sep ma wartość None, to do podziały dokonywane są przez każdy ciąg białych znaków. Parametr maxsplit określa, ile podziałów (od lewej) należy maksymalnie wykonać. Domyślna wartość -1 oznacza brak ograniczenia na liczbę podziałów. |
splitfields | splitfields(s[, sep[, maxsplit]]) | Działa tak samo jak split() |
join | join(words[, sep]) | Zwraca literał powstały przez połączenie literałów w ciągu words literałem sep (domyślnie ''). |
joinfields | joinfields(words[, sep]) | Działa tak samo jak join(). |
lstrip | lstrip(s) | Zwraca kopię literału s, w którym usunięto wszystkie białe znaki z początku. |
rstrip | rstrip(s) | Zwraca kopię literału s, w którym usunięto wszystkie białe znaki z końca. |
strip | strip(s) | Zwraca kopię literału s, w którym usunięto wszystkie białe znaki z początku i końca. |
swapcase | swapcase(s) | Zwraca kopię literału s, w której wielkie litery zamienione zostały na małe, a małe na wielkie. |
translate | translate(s, table[, deletechars]) | Zwraca kopię literału s, w której wszystkie znaki z łańcucha deletechars zostały usunięte, a pozostałe są zamieniane na znaki z argumentu table, który musi być literałem łańcuchowym o długości 256. |
upper | upper(s) | Zwraca kopię literału s, w której wszystkie małe litery zamienione zostały na wielkie. |
ljust | ljust(s, width) | Zwraca literał długości width, w którym literał s został wyrównany do lewego brzegu, lub kopię s, jeżeli ma długość większą niż width. |
rjust | rjust(s, width) | Zwraca łańcuch długości width zawierający literał s wyrównany do prawej, lub jego kopię, jeżeli jego długość przekracza wartość parametru width. |
center | center(s, width) | Zwraca literał długości width, zawierający wyśrodkowaną kopię literału s. Jeżeli s jest za długi, zostanie skopiowany w całości, bez wyśrodkowywania. |
zfill | zfill(s, width) | Zwraca kopię literału s, w której z lewej dopisano tyle zer, aby całość miała długość width. Jeżeli s zaczyna się od znaku, to zera zostaną wstawione zaraz po nim. |
replace | replace(s, old, new[, maxsplit]) | Zwraca kopię literału s, w której pierwsze maxsplit wystąpienia literału old zastąpione zostały literałem new. Jeśli maxsplit jest równe -1 (wartość domyślna), to zastąpione zostaną wszystkie wystąpienia old. |
Tabela 2.9. Funkcje z modułu math. Zob. także Math - mathematical functions.
Nazwa funkcja | Składnia | Opis |
---|---|---|
acos | acos(x) | Zwraca arcus cosinus x. |
asin | asin(x) | Zwraca arcus sinus x. |
atan | atan(x) | Zwraca arcus tangens x. |
atan2 | atan2(x, y) | Zwraca arcus tangens x / y. |
ceil | ceil(x) | Zwraca sufit x jako liczbę zmiennoprzecinkową. |
cos | cos(x) | Zwraca cosinus x. |
cosh | cosh(x) | Zwraca cosinus hiperboliczny x. |
exp | exp(x) | Zwraca eksponentę x. |
fabs | fabs(x) | Zwraca wartość bezwzględną x. |
floor | floor(x) | Zwraca podłogę x jako liczbę zmiennoprzecinkową. |
fmod | fmod(x) | Zwraca resztę z dzielenia x przez y jako liczbę zmiennoprzecinkową. |
frexp | frexp(x) | Zwraca parę (m, e) jako mantysę (typu float) o podstawie 2 i cechę (typu int) liczby x. |
hypot | hypot(x, y) | Zwraca sqrt(x*x + y*y). |
ldexp | ldexp(x, i) | Zwraca x * (2**i). |
log | log(x) | Zwraca logarytm naturalny x. |
log10 | log10(x) | Zwraca logarytm dziesiętny x. |
modf | modf(x) | Zwraca część całkowitą i ułamkową liczby x jako parę liczb zmiennoprzecinkowych; obie wartości mają taki sam znak jak x. |
pow | pow(x, y) | Zwraca x**y. |
sin | sin(x) | Zwraca sinus x. |
sinh | sinh(x) | Zwraca sinus hiperboliczny x. |
sqrt | sqrt(x) | Zwraca pierwiastek kwadratowy x. |
tan | tan(x) | Zwraca tangens x. |
tanh | tanh(x) | Zwraca tangens hiperboliczny x. |
Tabela 2.10. Funkcje z modułu random. Zob. także Random - Generate pseudo-random numbers.
Nazwa funkcji | Składnia | Opis |
---|---|---|
seed | seed([x]) | Inicjuje generator liczb losowych; x może być dowolnym obiektem, dla którego można wyznaczyć hash(x). Domyślnie używany jest aktualny czas systemowy. |
getstate | getstae() | Zwraca obiekt opisujący aktualny stan generatora liczb losowych, który później można podać jako argument dla setstate(). |
setstate | setstate(state) | Zmienia aktualny stan generatora liczb losowych na opisany przez state. |
jumpahead | jumpahead(n) | Zmienia wewntrny stan generatora liczb losowych tak samo, jak n-krotne wywołanie funkcji random(). |
randrange | randrange([start, ]stop[, step]) | Zwraca losowo wybraną liczbę losową spośród range([start, ]stop[, step]). |
choice | choice(seq) | Zwraca element wybrany losowo spośrod wyrazów ciągu seq. |
shuffle | shuffle(seq[, rand]) | Losowo zmienia kolejność elementów w ciągu seq. Opcjonalny argument rand może być funkcją zwracającą liczby zmiennoprzecinkowe z przedziału [0, 1); domyślnie jest to random(). |
random | random() | Zwraca liczę losową z przedziału [0, 1) z rozkładem jednostajnym. |
uniform | uniform(a, b) | Zwraca losową liczbę rzeczywistą u taką, że a <= u < b z rozkładem jednostajnym. |
betavariate | betavariate(alpha, beta) | Zwraca liczbę losową pomiędzy 0 i 1 z rozkładem Beta z parametrami alpha > -1 i beta > -1. |
cunifvariate | cunifvariate(mean, arc) | Zwraca losową miarę kątową (wyrażoną w radianach) z przedziału kątowego długości arc i środku mean. Oba arguementy należy wyrazić w radianach. |
gamma | gamma(alpha, beta) | Zwraca liczbę losową z rozkładem Gamma z parametrami alpha > -1 i beta > 0. |
gauss | gauss(mu, sigma) | Zwraca liczbę losową z rozkładem gaussowskim (normalnym) o średniej mu i odchyleniu standardowym sigma. |
lognormvariate | lognormvariate(mu, sigma) | Zwraca liczbę losową z rozkładem log-normalnym (normalnym) o średniej mu i odchyleniu standardowym sigma. |
normalvariate | normalvariate(mu, sigma) | Zwraca liczbę losową z rozkładem gaussowskim (normalnym) o średniej mu i odchyleniu standardowym sigma. |
vonmisesvariate | vonmisesvariate(mu, kappa) | Zwraca losowy kąt z rozkładem Von Mises-a, gdzie mu to średni kąt (pomiędzy 0 i 2*pi) a kappa to parametr koncentracji. Dla kappa = 0rozkład jest jednostajny. |
paretovariate | paretovariate(alpha) | Zwraca liczbę losową o rozkładzie Pareto z parametrem kształtu alpha. |
weibullvariate | weibullvariate(alpha, beta) | Zwraca liczbę losową o rozkładzie Weibull-a z parametrem skali alpha i parametrem kształtu beta. |
Tabela 2.11. Obiekty typów date i time objects. Zob. także Datetime - Basic date and time types .
Typ obiektu | Składnia | Opis |
---|---|---|
date | date(year, month, day) | Zwraca obiekt date przechowujący datę. |
time | time(hour, minute, second, microsecond) | Zwraca obiekt time przechowujący czas. |
datetime | datetime(year, month, day,
hour, minute, second, microsecond) | Zwraca obiekt datetime przechowujący datę i czas. |
timedelta | timedelta(days, seconds, microseconds,
milliseconds, minutes, hours, weeks) | Zwraca obiekt timedelta. |
Kilka przykładów prostych operacji na datach i czasach:
Przykład 2.15. Przesuwanie czasu i daty
date1 = date(2009, 4, 11) shift1 = timedelta(5,45,600,12,33,7,1) # 1 week and 5 days later print date1 + shift1 date2 = date(2008, 12, 22) shift2 = timedelta(days = -8) # 8 days earlier print date2 + shift2 date3 = datetime(2009, 4, 21) shift3 = timedelta(days = 3, weeks = 2, hours = 4) # 2 weeks and 3 days and 4 hours later print date3 + shift3
Wynik:
2009-04-23 2008-12-14 2009-05-08 04:00:00