[python] diskuze
Quick Milan
milan na 3trees.cz
Pondělí Červen 21 11:30:06 CEST 2004
> Pratele.
> Vcera jsem psal SAXParser v Pythonu, vesele si pobrukoval
> ale pak mi spadla celist. Narazil jsem na neco co mi vyrazilo
> dech.
>
> Zjednoduseny priklad:
> --------------------------------------------------------------------------
> --------------------
> jakub na gelion:~$ python2.1
> Python 2.1.3 (#1, Apr 20 2002, 10:14:34)
> [GCC 2.95.4 20011002 (Debian prerelease)] on linux2
> Type "copyright", "credits" or "license" for more information.
> >>> class maso:
> .... nazev = ""
> .... seznam = []
> ....
> >>> a = maso()
> >>> b = maso()
> >>>
> >>> a.nazev = "kotleta"
> >>> a.seznam.append("varena")
> >>>
> >>> b.nazev = "koleno"
> >>> b.seznam.append("uzene")
> >>>
> >>> print a.nazev
> kotleta
> >>> print a.seznam
> ['varena', 'uzene']
> >>> print b.nazev
> koleno
> >>> print b.seznam
> ['varena', 'uzene']
a co takhle:::
class maso:
def __init__(self):
self.nazev = ""
self.seznam = []
a = maso()
b = maso()
a.nazev = "kotleta"
a.seznam.append("varena")
b.nazev = "koleno"
b.seznam.append("uzene")
print a.nazev
kotleta
print a.seznam
['varena']
print b.nazev
koleno
print b.seznam
['uzene']
> --------------------------------------------------------------------------
> -------------------------
> U objektu a i b seznam zaujima stejnou adresu v pameti. Nazev ne.
> Koukam na to jako tele a nevim jak to obejit. Jsou moznosti:
>
> a) Jsem opravdu tele a neumim pouzivat objekty v Pythonu
> b) Je to spravne chovani, ktere mi ale naprosto nevyhovuje
> c) Je to chyba Pythonu jako hrom
>
> Doufam ze za a) je spravne, jinak bych asi python opustil
> jako spatne navrzeny objektovy jazyk.
>
> verze 2.2 a 2.3 to delaji take.
>
> S pozdravem Jakub Coufal
>
>
> _______________________________________________
> python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python