Pasar variables, crear instancias, uno mismo, la mecánica y el uso de clases: necesita explicación [cerrado]
He estado sentado sobre esto todo el día y ya estoy un poco cansado, así que discúlpeme por ser breve.
Soy nuevo en Python.
Acabo de reescribir un programa de trabajo, en un montón de funciones en una clase y todo desordenado. No sé si soy yo, pero estoy muy sorprendido de no poder encontrar un tutorial para principiantes sobre cómo manejar las clases en la web, así que tengo algunas preguntas.
primero de todos, en el__init__
sección de la clase he declarado un montón de variables conself.variable=something
.
¿Es correcto que pueda acceder / modificar estas variables en cada función de la clase usandoself.variable
en esa funcion? En otras palabras, declarandoself.variable
He hecho estas variables, variables globales en el ámbito de la clase ¿no?
Si no, ¿cómo me manejo?
En segundo lugar, ¿cómo paso correctamente los argumentos a la clase? Algún código de ejemplo sería genial.
En tercer lugar, ¿cómo llamo a una función de la clase fuera del ámbito de la clase? Algún código de ejemplo sería genial.
Fouthly, ¿cómo creo una instancia de laclass INITIALCLASS
en otroclass OTHERCLASS
, pasando variables desdeOTHERCLASS
aINITIALCLASS
? Algún código de ejemplo sería genial.
Quiero llamar a una función desdeOTHERCLASS
con argumentos deINITIALCLASS
. Lo que he hecho hasta ahora es.
class OTHERCLASS():
def __init__(self,variable1,variable2,variable3):
self.variable1=variable1
self.variable2=variable2
self.variable3=variable3
def someotherfunction(self):
something=somecode(using self.variable3)
self.variable2.append(something)
print self.variable2
def somemorefunctions(self):
self.variable2.append(variable1)
class INITIALCLASS():
def __init__(self):
self.variable1=value1
self.variable2=[]
self.variable3=''
self.DoIt=OTHERCLASS(variable1,variable2,variable3)
def somefunction(self):
variable3=Somecode
#tried this
self.DoIt.someotherfunctions()
#and this
DoIt.someotherfunctions()
Claramente no entendía cómo pasar variables a clases o cómo manejarlasself
, cuándo usarlo y cuándo no. Probablemente tampoco entendí cómo crear correctamente una instancia de una clase. En general, no entendía la mecánica de las clases, así que por favor, ayúdame y explícamelo como si no tuviera idea (lo que no entiendo, parece). O apúntame a un video completo, o tutorial legible.
Todo lo que encuentro en la web son ejemplos super simples, que no me ayudaron mucho. O simplemente definiciones muy cortas de clases e instancias de métodos de clase, etc.
Puedo enviarle mi código original si quieren, pero es bastante largo.