From 6dadc1f43f9db750b8fe9037197b51d2b75e4f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Sun, 4 Dec 2022 10:26:53 -0300 Subject: [PATCH] =?UTF-8?q?namedtuples=20-=20tuplas=20imut=C3=A1veis=20com?= =?UTF-8?q?=20nomes=20para=20valores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aula160.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 aula160.py diff --git a/aula160.py b/aula160.py new file mode 100644 index 0000000..1f42578 --- /dev/null +++ b/aula160.py @@ -0,0 +1,37 @@ +# namedtuples - tuplas imutáveis com nomes para valores +# Usamos namedtuples para criar classes de objetos que são apenas um +# agrupamento de atributos, como classes normais sem métodos, ou registros de +# bases de dados, etc. +# As namedtuples são imutáveis assim como as tuplas. +# https://docs.python.org/3/library/collections.html#collections.namedtuple +# https://docs.python.org/3/library/typing.html#typing.NamedTuple +# https://brasilescola.uol.com.br/curiosidades/baralho.htm +# from collections import namedtuple +from typing import NamedTuple + + +class Carta(NamedTuple): + valor: str = 'VALOR' + naipe: str = 'NAIPE' + + +# Carta = namedtuple( +# 'Carta', ['valor', 'naipe'], +# defaults=['VALOR', 'NAIPE'] +# ) +as_espadas = Carta('A') + +print(as_espadas._asdict()) +print(as_espadas) +print(as_espadas[0]) +print(as_espadas.valor) +print(as_espadas[1]) +print(as_espadas.naipe) + +print() +print(as_espadas._fields) +print(as_espadas._field_defaults) + + +for valor in as_espadas: + print(valor)