Zanurkuj w Pythonie/Potęga introspekcji: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Piotr (dyskusja | edycje)
Nie podano opisu zmian
Piotr (dyskusja | edycje)
Linia 116:
# <tt>type</tt> także działa na modułach.
# Możesz używać stałe z moduły <tt>types</tt>, aby porównać typy obiektów.
 
=== Funkcja <tt>str</tt> ===
 
Funkcja <tt>str</tt> wymusza dane do łańcucha znaków. Każdy typ danych może zostać wymuszony do łańcucha znaków.
 
'''Przykład 4.6. Wprowadzenie do <tt>str</tt>
 
>>> str(1) #(1)
'1'
>>> horsemen = ['war', 'pestilence', 'famine']
>>> horsemen
['war', 'pestilence', 'famine']
>>> horsemen.append('Powerbuilder')
>>> str(horsemen) #(2)
"['war', 'pestilence', 'famine', 'Powerbuilder']"
>>> str(odbchelper) #(3)
"<module 'odbchelper' from 'c:\\docbook\\dip\\py\\odbchelper.py'>"
>>> str(None) #(4)
'None'
 
# Spodziewaliśmy się, że <tt>str</tt> dzała na prostych typach takich jak np. liczby całkowite, ponieważ prawie każdy język programowania posiada funkcję konwertującą tekst na łańcuch znaków.
# Jakkolwiek funkcja <tt>str</tt> pracuje na każdym obiekcie dowolnego typu. W tym przypadku jest to lista składająca się z kilku elementów
# Jako argument w funkcji <tt>str</tt> możemy podać także moduł. Tekstowa reprezentacja modułu posiada ścieżkę do miejsca, w którym ten moduł się znajduje. Na różnych komputerach może być ona inna.
# Subtelnym, lecz ważnych zachowaniem funkcji <tt>str</tt> jest także to, że argumentem może być nawet <tt>None</tt> -- odpowiednik Pythonowej, pustej wartości (ang. <tt>null</tt>). Dla takiego argumentu funkcja zwraca tekst <tt>'None'</tt>. Będziemy tę cechę wykorzystywać jako zaletę, co zresztą zobaczymy wkrótce.
 
{{ProstaNawigacja|