Ús de classes ============= - En Python cal usar objectes i classes des del primer dia: treball amb objectes de tipus predefinits (int, str, float, list...) - El tipus o la classe d'un objecte determina quines dades pot emmagatzemar l'objecte (valors dels *atributs*) i quins càlculs sap fer sobre aquestes dades (*mètodes*) Exemples: :py:class:`int` (atributs :py:attr:`~numbers.Rational.numerator` i :py:attr:`~numbers.Complex.real`), :py:class:`list`... - Sabem: - Instanciar objectes >>> a = list() >>> a [] >>> b = int() >>> b 0 - Cridar mètodes >>> a.append(3) >>> a [3] >>> c = 'Bon dia!' >>> c.isalpha() False >>> c.find('!') 7 - Consultar atributs >>> d = 3 >>> d.numerator 3 >>> d.denominator 1 >>> d.real 3 >>> d.imag 0 - La biblioteca estàndard de Python ofereix - més classes predefinides: :class:`complex`... - mòduls que defineixen noves classes: :py:mod:`fractions`, :py:mod:`datetime`, :py:mod:`decimal`, :py:mod:`collections`... - També podem usar classes definides - per altres programadors: :class:`~nuvols.NuvolPunts`, :class:`~vagons.Vago` - en altres biblioteques: :class:`~networkx.Graph` Exercicis --------- Complex - :doc:`inf:temes/classes/Ús_de_la_classe_complex/index` - :doc:`inf:temes/iteradors/El_conjunt_de_Mandelbrot/index` - :doc:`inf:examens/curs2021-2022/1/parcial-torn1/complexos` Fractions - :doc:`inf:temes/classes/Ús_del_mòdul_fractions/index` - :doc:`inf:examens/curs2018-2019/1/parcial-torn2/classes-1` - :doc:`inf:examens/curs2023-2024/2/L1-G30/fraccions` - :doc:`inf:examens/curs2020-2021/1/E1-E2-G30-A/iterfracs` - :doc:`inf:examens/curs2017-2018/1/final-torn1/iteradors` Datetime - :doc:`inf:temes/classes/Ús_del_mòdul_datetime/index` - :doc:`inf:examens/curs2024-2025/1/parcial-torn1/diaproper` - :doc:`inf:examens/curs2021-2022/2/L1-G20/lluna_plena` - :doc:`inf:examens/curs2022-2023/2/L1-G10/seqdates` Classes definides per altres programadors - :doc:`inf:temes/classes/Ús_de_la_classe_Nuvol/index` - :doc:`inf:temes/classes/Ús_de_la_classe_Vago/index`