Autor
|
Tema: Método __init__ y clases de python-3.x (Leído 3,458 veces)
|
Jedahee
Desconectado
Mensajes: 19
|
Tengo una duda sobre este método... Y es... que hace realmente este método, me podríais poner un ejemplo de una clase utilizando este método y una clase sin este método para poder ver la diferencia... Y otra cosa, si yo hago esto class coche(): def __init__(self, rueda, pintura): self.rueda = rueda self.pintura = pintura def imprimir(self): self.rueda = input("que tipo de ruedas tienes > ") self.pintura = input("color del coche > ") COCHE = coche() COCHE.imprimir()
Porque en la parte COCHE = coche() me pide los valores de rueda y pintura si ya lo defino en "def imprimir()", ¿no hay manera de que no me los pida?, es que hay veces que he tenido errores por el valor inicial que le doy Gracias por responder!
|
|
|
En línea
|
|
|
|
engel lex
|
sin init class Coche(): def imprimir(self): self.rueda = input("que tipo de ruedas tienes > ") self.pintura = input("color del coche > ") print("las rueadas son", self.rueda, "y la pintura es", self.pintura objeto = Coche()
con init class Coche(): def __init__(self, kilometro_por_litro): self.kpl = kilometro_por_litro def imprimir(self): self.litros = input("cuantos litros tienes? > ") print("puedes rodar", self.kpl/self.litros, "kilometos mas" objeto = Coche(21)
el paso de parametros en init lo usas principalmente cuando son cosas que requieren saberse antes que nada pase por buena practica las clases empiezan con mayusculas, no usas variables con mayusculas exclusivamente (usualmente se reservan para las constantes) y NO usas el mismo nombre en una clase y una variable, eso lleva a confusion...
|
|
« Última modificación: 18 Noviembre 2019, 11:07 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Jedahee
Desconectado
Mensajes: 19
|
sin init class Coche(): def imprimir(self): self.rueda = input("que tipo de ruedas tienes > ") self.pintura = input("color del coche > ") print("las rueadas son", self.rueda, "y la pintura es", self.pintura objeto = Coche()
con init class Coche(): def __init__(self, kilometro_por_litro): self.kpl = kilometro_por_litro def imprimir(self): self.litros = input("cuantos litros tienes? > ") print("puedes rodar", self.kpl/self.litros, "kilometos mas" objeto = Coche(21)
el paso de parametros en init lo usas principalmente cuando son cosas que requieren saberse antes que nada pase por buena practica las clases empiezan con mayusculas, no usas variables con mayusculas exclusivamente (usualmente se reservan para las constantes) y NO usas el mismo nombre en una clase y una variable, eso lleva a confusion... Muchas gracias por responder! Otra duda que me ha aparecido es... si uso el método "self" este se define en todo el documento, solo entre clases, o solo dentro los def de la clase donde lo defino?
|
|
|
En línea
|
|
|
|
engel lex
|
self es "yo mismo" basicamente, el self se extiende dentro de todo el objeto, pero nada mas es decir, se vuelve una propiedad del objeto y puedes accederlo por ejemplo en el caso de la clase anterior objeto = Coche() objeto.imprimir() # aqui la interaccion print("el coche tiene ruedas:", objeto.rueda)
ojo usualmente para evitar conflictos y errores declaras las propiedades de antemano por ejemplo class Coche(): rueda = "" pintura = "" def imprimir(self): self.rueda = input("que tipo de ruedas tienes > ") self.pintura = input("color del coche > ") print("las rueadas son", self.rueda, "y la pintura es", self.pintura
no es tan buena idea declararlo "en caliente" porque si requieres la propiedad luego, puedes tener errores en ese caso no requieren self porque estás declarandolo como parte del objeto directamente (dentro de los def si necesitas self, porque los def declaran variables solo dentro de su scope)
|
|
« Última modificación: 18 Noviembre 2019, 19:39 pm por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python] invocar metodo desde metodo.
Scripting
|
Hesp
|
2
|
7,331
|
8 Marzo 2009, 00:38 am
por Hesp
|
|
|
Método desde Librería de Clases C#
.NET (C#, VB.NET, ASP)
|
aeternus_123
|
0
|
2,499
|
30 Septiembre 2012, 08:22 am
por aeternus_123
|
|
|
¿(Python) Es una mala práctica/costumbre llamar desde __init__ a otros métodos?
Programación General
|
theluigy13etv
|
1
|
3,611
|
13 Mayo 2013, 20:43 pm
por s00rk
|
|
|
¿Ya no es necesario __init__.py en los paquetes [PYTHON 3.xx]
Scripting
|
Yidu
|
1
|
3,040
|
20 Agosto 2018, 22:08 pm
por Eleкtro
|
|
|
python!!!!!!! no reconoce el __init__ al momento de hacer un objeto
Scripting
|
v3ngad0rx
|
1
|
2,369
|
14 Febrero 2019, 13:39 pm
por tincopasan
|
|