Poder se puede hacer, pero yo (personalmente) lo veo como un smell. No te sirve devolver un valor fuera del dominio para el caso ese que es despreciable? (Ej: -1)
#537 Es una práctica muy común, en python sería algo así (?). No me dejaba poner el tag por defecto xd
from dataclasses import dataclass
from abc import ABC
@dataclass
class Result(ABC):
tag: str
pass
@dataclass
class Success(Result):
tag: str
result: str
@dataclass
class Fail(Result):
tag: str
error: str
def success_case() -> Result:
return Success("SUCC", "Sucess data")
def fail_case() -> Result:
return Fail("FAIL", "Some error message")
result = success_case()
failed = fail_case()
if result.tag == "SUCC":
print(result)
if failed.tag == "FAIL":
print(failed)
#542 esa es la idea si, pero me daba pereza usar dataclass xd
Gracias chavules
No me quedan manitas para daros a los 2 xd
#542 si quieres usar un wrapper para éxito/fracaso no lo compruebes con un string y tira de bool.
#542 Hostia, no conocía lo de dataclass. De hecho lo de tipar las funciones es algo a lo que me debería de acostumbrar.
¡Gracias por el aporte!
la sintaxis de los optional de python da sida
la lib de typings en general es bastante terrible la verdad pero bueno
#549 De eso no tenia ni puta idea o lo habia borrado de mi mente xDDDD
ya hace un tiempecito que no lo toco
#551 que si haces un
return x, y
y luego recibes con
a,b = f()
Para ti es transparente, pero internamente lo empaqueta así
#552 Hola sé que llego un poco tarde pero estoy programando python estos días.
Se haría con una Type alias. https://docs.python.org/3/library/typing.html
Por ejemplo:
from typing import Dict, Tuple, Sequence
ConnectionOptions = Dict[str, str]
Address = Tuple[str, int]
Server = Tuple[Address, ConnectionOptions]
def broadcast_message(message: str, servers: Sequence[Server]) -> None:
...
# The static type checker will treat the previous type signature as
# being exactly equivalent to this one.
def broadcast_message(
message: str,
servers: Sequence[Tuple[Tuple[str, int], Dict[str, str]]]) -> None:
...
De esta forma se podría hacer railway programming por ejemplo. Quizás me pongo un día y lo pruebo a ver cuales son los limites de python.
Estoy viendo que esta mejor de lo que pensaba. Lo ponía por debajo de typescript pero esta a la altura en algunas cosas.
También se pueden definir Union
# Union type; Union[X, Y] means either X or Y.
Otra opción
https://pymotw.com/2/collections/namedtuple.html
En Feda/Dev he puesto una oferta de curro que me ha llegado por email de Python en Madrid. Lo comento por aqui por si hay alguien que no se pase a diario por allí, lo cual me parecería mal.
Un saludito!
Este viernes tenía algo de hueco en el curro y empecé a trastear con una mini utilidad CLI para gestionar las configuraciones a nivel local de un proyecto.
El caso es que quería algo que no necesitase libs externas para no complicar al personal, así que me vi relegado a usar argparse y me parece que está hecho con el ojete. Conozco click y la gente habla muy bien, pero tirando de stdlib, ¿no hay algo que no esté tan mal hecho?
APRENDE A PROGRAMAR EN PYTHON CON EL NUEVO CANAL DE YOUTUBE DE MICROSOFT
En un esfuerzo por incentivar y facilitar a una nueva ola de programadores el aprendizaje de Python, un lenguaje de programación que ha tenido gran auge en los últimos tiempos, Microsoft ha puesto a disposición de forma gratuita un curso en YouTube con un total de 44 videos.
Designado con el nombre Python for Begginners, el contenido de estos videos consta de lecciones, con una duración de 3 a 4 minutos.
En ellos, Christopher Harrison, Director Senior de programas de Microsoft y Susan Ibach, Directora de desarrollo empresarial de la unidad AI Gaming de Microsoft, enseñan de forma didáctica los principios y enunciados que rigen la programación en Python.
https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6
¿Pensáis que merecen la pena los títulos de los cursos online?
Estoy haciendo el curso Introduction to Computer Science and Programming Using Python que me está pareciendo muy bueno y estoy dudando si hacer la opción verificada para optar al título.
¿Qué cosas programáis en python? ¿O dónde es donde mayor demanda tiene? ¿Aplicaciones de escritorio, móvil, web?
#567 hombre yo lo conozco en uso de webs, incluso de IA, pero en escritorio lo veo también con mejores alternativas, por eso pregunto por qué el interés a día de hoy de python cuando para web hay cosas mejores y para IA muchas alternativas iguales o mejores.