In [16]:
def assign(alist, pos, value):
alist[pos] = value
In [17]:
x = [1,2,3]
In [18]:
assign(x, 0, 9)
In [19]:
x
Out[19]:
In [20]:
class something:
def __init__(self, val):
self.value = val
In [22]:
x = something(3)
In [23]:
x.value
Out[23]:
regresando al ejemplo
In [45]:
class Persona:
def __init__(self, nombre, edad, altura, peso):
self.nombre = nombre
self.edad = edad
self.altura = altura
self.peso = peso
self.gordura = peso / altura
In [48]:
juan = Persona("Juan Perez", 30, 175, 80)
In [49]:
juan.__dict__
Out[49]:
In [50]:
juan.peso = 76
In [51]:
juan.__dict__
Out[51]:
Haber puesto gordura de esta forma fue mala idea porque no cambio cuando se actualizo el peso (Juan se puso a dieta)... Debe ser un metodo!
In [52]:
class Persona:
"Esta es una clase de personas"
def __init__(self, nombre, edad, altura, peso):
"Hola soy el constructor"
self.nombre = nombre
self.edad = edad
self.altura = altura
self.peso = peso
def gordura(self):
"Hola yo calculo el peso"
return self.peso / self.altura
In [53]:
juan = Persona("Juan Perez", 30, 175, 80)
In [54]:
juan.gordura()
Out[54]:
In [55]:
juan.peso = 76
In [56]:
juan.gordura()
Out[56]:
In [85]:
class Persona:
"Esta es una clase de personas"
def __init__(self, nombre, edad, altura, peso, pos = 0):
"Hola soy el constructor"
self.nombre = nombre
self.edad = edad
self.altura = altura
self.peso = peso
self.pos = pos
def gordura(self):
"Hola yo calculo el peso"
return self.peso / self.altura
def camina(self, pasos):
self.pos += pasos # lo mismo que self.pos = self.pos + pasos
self.peso -= abs(pasos) / 1000
print("Moviendose " + str(pasos) +
" pasos a la posicion " + str(self.pos) + " , adelganzado a " +
)
In [82]:
pedro = Persona("Pedro Caminante", 30, 175, 79)
In [83]:
pedro.__dict__
Out[83]:
In [84]:
pedro.camina(5)
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [61]:
def myfun(x,y,k1 = -10, k2 = -100):
print({'x': x, 'y':y, 'k1':k1, 'k2':k2})
In [62]:
myfun(1,2,3,4)
In [63]:
myfun(1,2)
In [64]:
myfun(1,1,1)
In [67]:
myfun(1,2, k2 = 200)
In [68]:
myfun(1,2, k2 = 200, k1 = -1000)
In [69]:
myfun(k2 = 200, k1 = -1000, 1, 2)
In [ ]: