La PROGRAMACION orientada a OBJETOS PERDIDA de PYTHON - Todo sobre POO que no encontrarás en Python
Vložit
- čas přidán 24. 07. 2024
- Todos los conceptos de la Programación Orientada a Objetos que Python ¡NO APLICA!
Para ver mis streamings en tiempo real:
/ 1lugarparapensar
____________________________________________
MIS REDES:
IG: / 1lugarparapensar
TWITCH: / 1lugarparapensar
LINKS A TODAS MIS REDES: www.flowcode.com/page/unlugar...
si tenes una página de ejercicios o algún problema en puntual del que quieras que yo haga video mándame a: pensar.coding@gmail.com ❤️
____________________________________________
💕invítame un cafecito ➡️ cafecito.app/1lugarparapensar
____________________________________________
Índice
00:00 Introducción: Qué vamos a ver
02:14 Repaso de Conceptos POO
04:49 1-Constantes
11:45 2-Modificadores de Acceso
22:33 3-Overriding
27:11 4-Params y Outputs de Métodos
30:46 5-Objetos Singleton-Clases Estáticas
35:06 6-Traits
38:45 Conclusiones
Gracias por mirar ❤️ - Věda a technologie
Que bien lo explicas, te adoro. 😁
Tenia los conceptos en la cabeza dando vueltas de tanto leer pero me faltaba una explicación como la tuya.
muchas gracias Rodrigo !! me alegra que te sirva 🥰
Excelente Video saludos, espero que sigas subiendo mas contenido como este
Suuuuper coool! Gracias por compartir esos conocimientos que no sabia que necesitaba jaja suuuper like🤘🏽
Gracias a vos por ver Fer!!❤️
Me encantó el video, unas ganas de seguir aprendiendooo python ♥♥
Gracias Damian!!! Me alegro mucho 🤗🥰
Es excelente el video!!! Valio la pena el esfuerzo.. Te felicito!!! Segui asi!!!
Salu2 desde Uruguay
Muchísimas gracias gamemaster!! 🥺abrazos 🤗
Grande Tati! Siempre Power!
Genio Sergioooo gracias por el apoyo siempre 🥺
Para los Traits se pueden usar clases abstractas or protocolos propios de python
si pero ni se le acerca a una implementación real de clases / métodos abstractos
Muy buen video! Tendrías que hacerlos viajando, al aire libre, podría ser desde un safari jajaja un beso geniaaa
jajajaja ojalá 🥺 gracias Martin!!!
hola, cuanto te valio el brazo para el microfono?
quiero ese mismo microfono pero no se que brazo comprarle
Justo estaba haciendo un curso en Coursera sobre POO y preciso entendí varios conceptos!
Que bueno Juanpa 🥰
Necesito más videos seguidos please
eso intentaremos 🤗
Ola de Brazil !! Mui bueno conteudo!!! gracias
Gracias !!!
Sos crack tati!!!!
🥺 gracias Leo queridooo!! 💕
muy buena la explicacion pero el ruido del microfono, es muy pesado! Gracias por los videos.
¿qué patrón de colores usas?, o ¿qué tema es?
Apoyo la creación de contenido en español, pero veo que al final los comentarios me dicen este video que tuvo un impacto negativo, p.e. dudas sobre si Python sirve o no para POO. Sí que sirve, pero como todo, hay que usar la herramienta correctamente para el propósito esperado.
Sigan estudiando y revisen código de otras personas (hoy es muy fácil), ahí van a encontrarse con cosas maravillosas.
Impacto negativo ?? Solo estoy mostrando varios conceptos y opciones que en Python no pueden implementarse o al menos no directamente. Ampliar el conocimiento JAMÁS va a generar un impacto negativo. Lo que hace cada uno con ese conocimiento es tema de cada uno. Saludos.
graciasss
Gracias por comentar❤️
epico video tatiana, sigale nomas. me dan hasta ganas de que me termines de criar hasta los 25 años! un saludo...
Jajajaja me hiciste reír, gracias Guido!! 🥰
Me viene al pelo en tema y buen Powerpoint
Gracias Luuuu !!! me alegro que sirva 🤗
me encanta como enseñas, me motivas a seguir estudiando
Ayyy , que bueno Juan lo que me decís!! 🥺 a seguir estudiandooo📚
Me lo vi completo al video ✌️como se usa scala en el día a día ?
Que grande Mati !!! Se usa para backend, la realidad es que sobre todo se usa para Big Data por su nivel de procesamiento , compatibilidad con Java y su sintaxis más simple . Para conexiones con DDBB, inserciones de datos masivos, procesos en servidores/clusters, también se usa para microservicios web y para app web puede usarse también
@@1lugarparapensar gracias por la info!
Ginchu eres tu :0?
Alguien me da el nombre del tema de vscode?
buenas, en este video cuento todo sobre mi vscode czcams.com/video/HgeaYGIVQA4/video.html
Entonces recomiendas que no usemos Python para POO?
Para nada, ese no es el mensaje del video!
La privacidad de Python es como cambiarte detrás de una cortina, es seguro hasta que llega alguien que sabe como correrla.
Jajajajaja😂😂😂 me encantó la metáfora
Como dato, Python es un lenguaje de programacion orientado a objetos mas "puro" que Java, ya que en Python todo es un objeto y en Java no todo es Objeto como lo puede ser sus tipos de datos primitivos.
Si, es cierto! Python entiende todo como un objeto. Sin embargo carece de características esenciales de la POO como la encapsulación o la herencia múltiple, entre otros.
First
Sería genial que enseñarás POO desde cero usando Python 👌🏻
¡Excelente video!
Hola José, hice un video de eso ya, te dejo el link : czcams.com/video/oI330C-RQWc/video.html
@@1lugarparapensar gracias 🤗
Como dato freak, Python es más Orientado a Objetos que Java :)
🤣🤣🤣
por el básicamente cuando podrías usar fundamentalmente, esencialmente, o te traumaste con el baisicli del ingles???
jjajajja es mi muletilla y ya me representa
Esta buenisimo esto ... me gustaria ver esta comparativa entre Python vs Ruby ... O tal vez Python vs Goland .... sabemos que Goland tiiene una manera muy distinta y mas corta de implementar a la POO a tarvez de algo llamado interfaces, pero nadie a comparando esto con los otros lenguajes y sus distintas implementaciones de POO.
Espero puedas contar con el tiempo y las ganas para datarnos un poco sobre esto.
Por cierto me agrado la sintaxis de Escala
Son lenguajes con propósitos y filosofías distintas. En Java se limita al programador y se depende de un entorno concreto (una implementación de módulos robusta como Maven por ejemplo); y python la buena calidad del código depende del programador y sus buenas prácticas.
Por esto Java y derivados tienen una depuración automática, su fortaleza no radica en el lenguaje, sino en su entorno de desarrollo.
La fortaleza de Python radica en su simplicidad, no en su entorno de desarrollo.
Por esto no estoy de acuerdo con los puntos del video y voy a exponer 1 a 1 de las razones, que le pueden ser útil principalmente a los iniciantes del lenguaje.
1. Constantes: usen @property si no quieren modificaciones de las propiedades en sus instancias. Aunque es más pythonico usar constantes en un módulo aparte y usar el sentido común: Si esta en mayúsculas no lo cambies, si lo vas a cambiar no importes la constante en primer lugar. En Java tienen constantes entre clases porque el lenguaje esta limitado a eso, en Python no existe esa limitación.
2. Modificadores de acceso: Los modificadores de acceso en Python son solo "azúcar sintáctico", pero eso resalto lo esencial de este principio POO, los modificadores de acceso son solo una guía, no un limitante ¿Proteger el acceso de quien? ¿De mí mismo? Con __variable es suficiente para evitar los cambios no intencionados. ¿De mis compañeros/as de desarrollo? Conocerán el código, así que no hay nada realmente privado, incluso usando java.
Además, Python le da más importancia al "principio de acceso uniforme" (Uniform access principle), recomiendo buscar al respecto. Incluye una serie de simplificaciones en la codificación, que no se cumplen en java (requiere una sintaxis más verbosa), pero que si se cumple en python.
3. Overriding: Esto ya es cuestión de gustos... ¿Realmente importa que el método implementado en una clase sea explícitamente "overriding"? La herencia te da acceso a atributos y métodos del padre, si sobreescribes el método y necesitas la funcionalidad del padre usas super().metodo_padre() y listo. Si no la necesitas, ¿Para qué debería importar si es sobreescrito o no? Si alguien piensa que es porque se quiere un comportamiento uniforme y predecible frente a métodos con nombres comunes... si eso importara en este caso no se podría hacer overriding en ninguno de los lenguajes en primer lugar.
4. Params y Outputs: Lo mismo que antes, no es inútil la notación de tipos en Python, de hecho en Visual Studio Code, te ayuda a saber que tipo de parámetros requiere la función al pasar el cursor por encima. Si necesitas depuración, usas Mypy.
Si crees que no debería instalarse nada y el lenguaje debería tener eso de antemano, esto haría la depuración y desarrollo más lento. Es mejor codificar tranquilamente y luego depurar, al menos al desarrollar un módulo.
5. Objetos Singlenton y Clases estaticas: Tal vez las clases estáticas no eran tan necesarias. Singlenton puede llegar a ser un anti-patrón, y el ejemplo mostrado en el video, muestra, que este también se puede implementar en Python. En Scala se implementa más sencillo, pero porque su desarrollo gira alrededor de este tipo de conceptos, en Python no es así. No es una perdida, es solo un enfoque distinto para necesidades muy distintas en POO.
6. Traits: Con el módulo "abc" se pueden implementar clases abstractas. No suele ser muy necesario, a menos que debas implementar un patrón de diseño muy específico. Pero ahí está, por si se necesita implementar.
En resumen, los principios canónicos de POO, son referencias, no leyes de sangre.
El video es bueno para ver las ventajas de Scala, pero la da un golpe bajo al POO de Python, el cual es sencillo e intuitivo de usar, solo que no depende de Java.
@ 28:52 al final python se pasa por el forro la declaración de tipos de los parámetros y la salida de la función, vamos que es un lenguaje tan "LOLAILO" con javascript o PHP. En realidad esos 3 lenguajes llevan la "característica" de que son orientado a objetos a nivel de marketing pq no son orientado objetos y Por ejemplo Java aunque ha evolucionado y tiene "programación funcional" no es un lenguaje de paradigma funcional en realidad es también marketing.
En ambos casos por el hecho de pasar rozando el paradigma de orientado a objetos en los casos de python, javascript y php. o Java pasar rozando la programación funcional no son eso en ninguno de los casos.
O sea si le pones que el método es de un tipo y más adelante se lo puedes cambiar ya para eso ni se lo pongas. Es como que te digo oye te contrato por 1000$ pero después más adelante te doy un abrazo y vete para tu casa contento, te he cambiado el tipo (de dinero a cariño) y como se te queda la cara
Lo que muestra ahi se conocen como Typing hints o Annotations, en python sirven para documentar o simplificar el uso en los IDE, pero también se puede utilizar como validacion de tipado para evitar lo que justamente decís, pero necesitas instalar MyPy (un una dependencia propia del equipo que desarrolla python)
el punto es que no deberías instalar nada para realizar un control de los tipos , debería ser algo que esté implementado directamente en el lenguaje, porque si para hacer una cosa tengo que instalar 10 librerías e importar 3 módulos y escribir 15 lineas mas de código, entonces no sirve. admitamos que python carece de ciertas implementaciones esenciales en cuando a la orientación a objetos 🤷♀️
creo que no me hago tanto drama con eso, mientras como pochoclo y leo el forobardo
Y llega un momento en la relacion, donde nos damos cuenta de que no todo son color de rosas? jajaj te paso eso con python o me parece..
jajajajaj tal cuaaaaal, pero seguimos estando juntos porque es amor del bueno (?)
Scala..?? Me quedo con Python.. Linda Explicacion pero seguiras con Python lo veo en tus ojos.....Ja, gracias
jajajajajaja obvio que si!!
Yo personalmente he visto dos vídeos tuyos, y de verdad veo que sabes muchísimo de programación, pero no todo programador sabe enseñar , y sin que te ofendas creo que este es tu caso. Gracias por el esfuerzo.
Entonces python no es bueno para POO :/
:(