|4.1|{{Python/Src|apihelper.py}}
|tekst=
<nowiki>def info(object, spacing=10, collapse=1): #(1) (2) (3)
u"""Wypisuje metody i ich notki dokumentacyjne.
Argumentem może być moduł, klasa, lista, słownik, czy też łańcuch znaków."""
methodList = [e for e in dir(object) if callable(getattr(object, e))]
processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
print "\n".join(["%s %s" %
(method.ljust(spacing),
processFunc(strunicode(getattr(object, method).__doc__)))
for method in methodList])
if __name__ == "__main__": #(4) (5)
print info.__doc__</nowiki>
# Ten moduł ma jedną funkcję <code>info</code>. Zgodnie ze swoją [[../Deklarowanie funkcji|deklaracją]] wymaga ona trzech argumentów: <code>object</code>, <code>spacing</code> oraz <code>collapse</code>. Dwa ostatnie parametry są opcjonalne, co za chwilę zobaczymy.
# Funkcja <code>info</code> posiada wieloliniową [[../Dokumentowanie funkcji|notkę dokumentacyjną]], który opisuje jej zastosowanie. Zauważ, że funkcja nie zwraca żadnej wartości. Ta funkcja będzie wykorzystywana, aby wykonać pewną czynność, a nie żeby otrzymać pewną wartość.
# Kod wewnątrz funkcji jest [[../Wcięcia kodu|wcięty]].
# [[../Testowanie modułów|Sztuczka]] z <code>if __name__</code>]] pozwala wykonać programowi coś użytecznego, kiedy zostanie uruchomiony samodzielnie. KodJeśli podpowyższy tąkod instrukcjązaimportujemy niejako zostaniemoduł wykonany,do jeśliinnego programu, kod tenpod wykorzystamytą jakoinstrukcją modułnie wzostanie innym programiewykonany. W tym wypadku program wypisuje po prostu notkę dokumentacyjną funkcji <code>info</code>.
# [[../Testowanie modułów|Instrukcja <code>if</code>]] wykorzystuje <code>==</code> (dwa znaki równości), aby porównać dwie wartości. W instrukcji <code>if</code> nie musimy korzystać z nawiasów okrągłych.
}}
>>> li = []
>>> info(li)
{{samp|1=<nowiki>[...ciach...] append L.append(object) -- append object to end
count L.count(value) -> integer -- return number of occurrences of value
extend L.extend(iterable) -- extend list by appending elements from the iterable
index L.index(value, [start, [stop]]) -> integer -- return first index of value
insert L.insert(index, object) -- insert object before index
pop L.pop([index]) -> item -- remove and return item at index (default last)
remove L.remove(value) -- remove first occurrence of value
reverse L.reverse() -- reverse *IN PLACE*
sort L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; cmp(x, y) -> -1, 0, 1</nowiki>}}
}}
>>> import odbchelper
>>> info(odbchelper)
{{samp|1=buildConnectionString Tworzy łańcuchów znaków na podstawie słownika parametrów w postaci: 'klucz1=wartość1;klucz2=wartośc2;klucz3=wartość3;...;kluczN=wartośćN' Zwraca łańcuch znaków.}}
>>> info(odbchelper, 30)
{{samp|1=buildConnectionString Tworzy łańcuchów znaków na podstawie słownika parametrów w postaci: 'klucz1=wartość1;klucz2=wartośc2;klucz3=wartość3;...;kluczN=wartośćN' Zwraca łańcuch znaków.}}
>>> info(odbchelper, 30, 0)
{{samp|1=<nowiki>buildConnectionString Tworzy łańcuchów znaków na podstawie słownika parametrów w postaci:.
'klucz1=wartość1;klucz2=wartośc2;klucz3=wartość3;...;kluczN=wartośćN'
Zwraca łańcuch znaków. </nowiki>}} ▼
▲ Zwraca łańcuch znaków.}}
}}
<noinclude>
{{Nawigacja|../|
|