Nie posiada ona wprawdzie rozbudowanych funkcji podobnych do javadoc, ale jest dostępna w czasie wykonania programu, a więc i w trybie interaktywnym.
Emulowanie typów, przeciążanie operatorów, wywoływanie jako funkcje Python pozwala dopasowywać własności danej klasy w szerokim zakresie. Implementując odpowiednie metody można sprawić, by obiekty danej klasy zachowywały się jak kolekcje, liczby, a nawet funkcje.
Przykład:
class Emulator: def __call__(self, x): print(f'Ten Emulator wywołano jako funkcję z parametrem x = {x}')
def __getitem__(self, key): return f'{key}-ty element w kontenerze klasy Emulator'
e = Emulator() e('abc') e(123) print(e['def']) print(e)
Uruchomienie powyższego kodu da następujący rezultat:
Ten Emulator wywołano jako funkcję z parametrem x = abc Ten Emulator wywołano jako funkcję z parametrem x = 123 def-ty element w kontenerze klasy Emulator 456-ty element w kontenerze klasy Emulator
Zmienna liczba argumentów funkcji Możliwe jest tworzenie funkcji ze zmienną liczbą argumentów, argumentami o wartościach domyślnych (podobnie jak w C++ lub C#), a także wywoływanie funkcji z użyciem argumentów nazwanych, z podaniem nazw parametrów.
Przykład: