elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Primeros pasos con programación orientada a objetos(POO)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Primeros pasos con programación orientada a objetos(POO)  (Leído 4,176 veces)
El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Primeros pasos con programación orientada a objetos(POO)
« en: 27 Diciembre 2022, 14:40 pm »

Esta vez estoy decidido a aprender la POO y no voy a continuar
con el próximo tema hasta aprender por lo menos lo básico.-
Primero dejo un programita para demostrarle que algo pude lograr.-

Código
  1. class Super:
  2.    def __init__(self, codigo, nombre, precio):
  3.        self.codigo = codigo
  4.        self.nombre = nombre
  5.        self.precio = precio
  6.  
  7.    def __str__(self):
  8.        return f"{self.codigo} {self.nombre} {self.precio}"
  9.  
  10.  
  11. if __name__ == '__main__':
  12.    tomate = Super(125, "Arcor tomate perita lata x 380 grs.", 129.50)
  13.    print(tomate)


Código
  1. import codecs
  2. import os
  3.  
  4. def principal():
  5.    lemario = leer_lemario()
  6.    palabra = True
  7.    mostrar = []
  8.    while palabra:
  9.        palabra = input("\n Ingrese la palabra a corregir...: ")
  10.        if buscar_palabra(palabra, lemario) == True:
  11.            print(f'\n La palabra "{palabra}" existe en el diccionario y es correcta.')
  12.        elif len(palabra) == 0:
  13.            break
  14.        else:    
  15.            for lema in lemario:
  16.                posibles = distancia(lema, palabra)
  17.                if int(posibles) == 1:
  18.                    mostrar.append(lema)
  19.            if len(mostrar) == 0:
  20.                print("\n No se encontraron palabras parecidas...")
  21.            else:    
  22.                print("\n ===== Posibles palabras correctas =====")
  23.                cont = 0
  24.                for mos in mostrar:
  25.                    print(" ", mos, end=" - ")
  26.                    cont += 1
  27.                    if cont == 5:
  28.                        print(" ")
  29.                        cont = 0    
  30.                print("\n =======================================")
  31.                mostrar.clear()
  32.  
  33. def buscar_palabra(palabra, lemario):
  34.    for lema in lemario:
  35.        if palabra == lema:
  36.            return True
  37.    return False
  38.  
  39.  
  40. def leer_lemario():
  41.    lemario = []
  42.    with codecs.open('Ortografia.txt', 'r', encoding='utf-8') as archivo:
  43.        for linea in archivo:
  44.            linea = linea.strip()
  45.            if len(linea) > 0:
  46.                lemario.append(linea)
  47.    return lemario
  48.  
  49.  
  50. def distancia(str1, str2):
  51.  posibles = []
  52.  d=dict()
  53.  for i in range(len(str1)+1):
  54.     d[i]=dict()
  55.     d[i][0]=i
  56.  for i in range(len(str2)+1):
  57.     d[0][i] = i
  58.  for i in range(1, len(str1)+1):
  59.     for j in range(1, len(str2)+1):
  60.        d[i][j] = min(d[i][j-1]+1, d[i-1][j]+1, d[i-1][j-1]+(not str1[i-1] == str2[j-1]))
  61.  return d[len(str1)][len(str2)]
  62.  
  63.  
  64. if __name__ == "__main__":
  65.    principal()

La pregunta es: ¿alguien me podría orientar para pasar este programa
(que intenta ser un corrector ortográfico)a la POO?.-
Si les resulta muy tedioso hacer un ej. completo, por lo menos desearía
que me muestren tan solo un método, desde ya muchas gracias…

Slds. Daniel ☕☕☕


En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.680


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #1 en: 27 Diciembre 2022, 15:06 pm »

Hola , ese programa ya es POO por el solo hecho de haber sido escrito en Python que es un lenguaje orientado a objetos.

Te cito esta parte que encontré en Google:

Cita de: Google
Todo es un objeto en Python

Eso es porque, en Python, todo es un objeto. Recuerda la definición de objeto: Un objeto en Python es una única colección de datos (atributos) y comportamiento (métodos).22 nov 2022.

https://kinsta.com/es/blog/programacion-orientada-objetos-python/#:~:text=Todo%20es%20un%20objeto%20en%20Python,-Te%20diremos%20un&text=Eso%20es%20porque%2C%20en%20Python,)%20y%20comportamiento%20(m%C3%A9todos)


Saludos


« Última modificación: 29 Diciembre 2022, 14:54 pm por Danielㅤ » En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #2 en: 27 Diciembre 2022, 16:04 pm »

Hola tocayo, gracias por ocuparte, estoy desconcertado, ¿qué sugerís entonces
que no debería aprender POO?, no entiendo, ¿acaso son innecesarias las clases?.-

Slds. Daniel ☕☕☕
En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.680


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #3 en: 27 Diciembre 2022, 16:53 pm »

A ver yo solo te respondo para sacarte la duda de que lo que estas aprendiendo es POO porque programas escribiendo códigos en un lenguaje Orientado a Objetos.

Vos tenes que aprender lo que vos quieras aprender y lo que en el futuro te vaya a servir para crear tus proyectos/programas.

Y en cuánto a mi opinión si podes aprender POO tranquilamente, yo aprendí con python y he creado muy buenos programas, más que nada eran herramientas útiles.

Las clases si son muy necesarias, si vas a programar códigos muy simples y muy cortos podes no usarlas y usar solamente funciones, pero si vas a crear un proyecto mediano o grande, entonces si es totalmente necesario y fundamental que las utilices.


Saludos
En línea

explorer

Desconectado Desconectado

Mensajes: 101


Analista/Programador Perl


Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #4 en: 29 Diciembre 2022, 04:00 am »

Por fortuna, la programación orientada a objetos tiene cada vez más opiniones en contra... y desde hace años.

https://medium.com/@konradmusial/why-oop-is-bad-and-possibly-disastrous-e0844fa96c1f
En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #5 en: 29 Diciembre 2022, 15:19 pm »

No puedo aportar demasiado, lo concreto es que aprender POO lo único interesante que logre es complicarme la vida.-
Gracias explorer por tu aporte...

Slds. Daniel ☕☕☕
En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.680


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #6 en: 29 Diciembre 2022, 15:50 pm »

No puedo aportar demasiado, lo concreto es que aprender POO lo único interesante que logre es complicarme la vida.-
Gracias explorer por tu aporte...

Slds. Daniel ☕☕☕

Vaya nunca me hubiera imaginado que digas eso de Python con todo lo que llevas aprendiendo, practicando y creando tus programas.

Si ahora no te gusta más Python pues bien podes aprender programación estructural, que sería lo opuesto de POO, también vas a tener que aprender a usar las llaves de apertura y cierre ( { } ) y el punto y coma ( ; ) como base fundamental.


Suerte
« Última modificación: 29 Diciembre 2022, 15:55 pm por Danielㅤ » En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #7 en: 29 Diciembre 2022, 16:11 pm »

Amigo, o yo me exprese equivocadamente, o no me supiste interpretar.-
Me gusta muchísimo Python(no la POO), no puedo negar que me gusta mucho "C",
ya que más cerca de la memoria me encuentro, más cómodo, me siento,
más identificado con la programación, abrazo.-

Slds. Daniel ☕☕☕
En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #8 en: 1 Enero 2023, 00:43 am »

Hola Daniel:
                  vivo en un país gobernado por ladrones,corruptos e inútiles que mantienen vagos y favorecen a ladrones, han robado los cables de internet así que lo hago desde el télefono y es un asco, pero te diré:
1)tienes que pensar y entender bien cuando es mejor usar clases y cuando es innecesario
2)si entendiste lo básico es crear la clase y cada función es un método
3)en lo personal uso clases si hay herencia ,combinaciones,repeticiones, polimofirsmo, etc
4)te dejo una orientación, para que vayas viendo la aplicación en este caso.
5) obvio no haré todo, te lo dejo para que practiques y cualquier duda consultes.

Código
  1. #-*- coding: utf  -8 -*-
  2. import os
  3. class Archivo:
  4.    def __init__(self,nombre="Ortografia.txt"):
  5.        self.nombre = nombre
  6.        self.palabras= open(nombre).readlines() if os.path.exists(nombre) else []
  7.        self.palabras = [palabra.strip() for palabra in self.palabras]
  8.  
  9.    def buscar_palabra(self,buscada):
  10.        if buscada in self.palabras:
  11.            return True
  12.        return False
  13.  
  14. def principal():
  15.    lista = Archivo()
  16.    palabra = lista.buscar_palabra(input("Ingrese la palabra a corregir...: "))
  17.    if palabra:
  18.        print(f'La palabra  existe en el diccionario y es correcta.')
  19.  
  20.  
  21. if __name__ == "__main__":
  22.        principal()
  23.  
En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Primeros pasos con programación orientada a objetos(POO)
« Respuesta #9 en: 1 Enero 2023, 21:43 pm »

¿En qué país de sud América vivís? Ja ja ja
Gracias rey y me quedo con esta frase "en lo personal uso clases si hay herencia, combinaciones, repeticiones, polimorfismo, etc.”
Tenía un concepto casi fanatizado de la POO por eso me aclara mucho tu frase.-
Igual estoy intrigado que me va a pasar porque inicio ahora mismo estudiando QT6 y según el enunciado, todo tiene que ser hecho
con clases, veremos, un abrazo…
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programacion orientada a objetos en php, ide
PHP
wizache 2 4,461 Último mensaje 11 Marzo 2008, 02:44 am
por [ Alberto]
programacion orientada a objetos con C#
.NET (C#, VB.NET, ASP)
Bleach@lex 3 4,956 Último mensaje 21 Abril 2012, 19:55 pm
por Bleach@lex
Programacion orientada a objetos
Programación C/C++
cazagavilan 4 3,402 Último mensaje 21 Abril 2012, 10:55 am
por cazagavilan
Programacion orientada a objetos en c++
Programación C/C++
stivinsung 4 2,117 Último mensaje 26 Mayo 2016, 17:13 pm
por stivinsung
Programacion orientada a objetos
Programación General
yos_14 2 2,113 Último mensaje 5 Octubre 2016, 07:08 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines