Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Atrybutyielementyobiektu
Głównaróżnicapomiędzyatrybutamiaelementamiobiektuleżywskładniużywanej
douzyskaniadostępudonich.Abywskazaćatrybutobiektu,używamyreferencjidoobiek-
tu,uzupełnionejkropką(
.
),poktórejnastępujeidentyfikatorznanyjakonazwaatrybutu.
Naprzykład
x.y
odnosisiędojednegozatrybutówobiektupowiązanegoznazwą
x
,
akonkretniedoatrybutuonazwie
y
.
Abywskazaćelementobiektu,używamyreferencjidoobiektu,uzupełnionejwyra-
żeniemumieszczonymwnawiasachkwadratowych
[]
.Wyrażeniewnawiasachznane
jestjakoindeksalbokluczelementu,zaśobiektnazywamykonteneremtegoelementu.
Dlaprzykładu,
x[y]
odwołujesiędoelementupodindeksemlubkluczempowiązanym
znazwą
y
wobiekciekontenerapowiązanymznazwą
x
.
Atrybuty,którewywoływalne,równieżznanejakometody.Pythonniewprowadza
silnegorozróżnieniapomiędzyatrybutamiwywoływalnymiiniewywoływalnymi,jak
robiątoniektóreinnejęzyki.Wszystkieogólneregułydotycząceatrybutówmajązasto-
sowanierównieżdoatrybutówwywoływalnych(metod).
Dostępdonieistniejącychreferencji
Częstymbłędemprogramistycznymjestpróbauzyskaniadostępudoreferencji,która
nieistnieje.Przykładowozmiennamożeniebyćpowiązana,albonazwaatrybutuczyin-
dekselementumogąniebyćpoprawnedlaobiektu,doktóregopróbujemyjezastosować.
KompilatorPythonapodczasanalizowaniaikompilowaniakoduźródłowegodiagnozu-
jetylkobłędysyntaktyczne(składniowe).Kompilacjaniemożezdiagnozowaćbłędów
semantycznych,takichjakpróbadostępudoniepowiązanegoatrybutu,elementulub
zmiennej.Pythonwykrywaidiagnozujebłędysemantycznetylkowtedy,gdywadliwykod
jestwykonywany-czyliwczasiedziałania.Kiedyoperacjajestbłędemsemantycznym
Pythona,próbatapowodujezgłoszeniewyjątku(patrzrozdział6).Dostępdonieistniejącej
zmiennej,atrybutulubelementu-takjakkażdyinnybłądsemantyczny-zgłaszawyjątek.
Instrukcjeprzypisania
Instrukcjeprzypisaniamogąbyćprostelubzłożone.Prosteprzypisaniedozmiennej(np.
nazwa:wartość
)tosposóbutworzenianowejzmiennejalboponowneprzypisanienowej
wartościdoistniejącejzmiennej.Prosteprzypisaniedoatrybutuobiektu(np.
x.atr:war-
tość
)jestżądaniem,abyobiekt
x
utworzyłlubponowniepowiązałatrybutnazwany
'atr'
.
Prosteprzypisaniedoelementukontenera(np.
x[k]:wartość
)tożądanieodkontenera
x
,abyutworzyłlubponowniepowiązałelementoindeksielubkluczu
k
.
Przypisaniazłożone(np.
nazwa+:wartość
)niemogązsamejistotytworzyćnowych
referencji.Złożoneprzypisaniamogąponowniewiązaćzmienną,żądaćodobiektupo-
nownegopowiązaniajednegozjużistniejącychatrybutówlubelementówalbodomagać
się,abyobiektdocelowyzmodyfikowałsiebiesamego.Ilekroćwykonujemydowolnego
rodzajużądaniedoobiektu,odtegoobiektuzależy,czyijakmazrealizowaćtożądanie,
atakżeczymazgłosićwyjątek.
Zmienneiinnereferencje
|
63