python 2 Flashcards

(20 cards)

1
Q

clase q es

A

es un modelo que define atributos y métodos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

objeto q es

A

es una instancia de una clase.Es una encarnación de los requisitos, rasgos y cualidades asignados a una clase específica

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

q contiene un objeto

A

Un nombre que los identifica y nos permite distinguirlos.
Un conjunto de propiedades (el conjunto puede estar vacío).
Un conjunto de métodos (también puede estar vacío).
EJEMPLO:
Nombre del objeto = ROSETA
Clase = HADA
Propiedad = Color (rosa)
Actividad =FLORA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Herencia

A

Cualquier objeto vinculado a un nivel específico de una jerarquía de clases hereda todos los rasgos (así como los requisitos y cualidades) definidos dentro de cualquiera de las superclases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

pass para q es

A

no contiene actividades ni propiedades, creamos un objeto de la clase(TheSimplestClass), el cual aún no tiene actividades ni propiedades
class TheSimplestClass:
pass

my_first_object = TheSimplestClass() # Creación de un objeto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Jerarquía de Clases

A

Se pueden definir clases generales y luego especializarlas en subclases.
Ejemplo: una clase Vehículo puede tener subclases como Terrestre, Acuático, Aéreo, etc.
Cada subclase es más especializada (o más específica) que su superclase. Por el contrario, cada superclase es más general (más abstracta) que cualquiera de sus subclases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Atributos y Métodos
que son

A

Atributos: características de un objeto (peso, dieta, sabor en un objeto “comida”).
Métodos: acciones que puede realizar un objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Encapsulamiento

A

Se pueden ocultar datos dentro de una clase para evitar modificaciones no autorizadas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pilas (Estructura de Datos)

A

Se maneja con la regla LIFO (Last In, First Out – el último en entrar es el primero en salir).
Métodos clave:
push(val) → Añadir un elemento.
pop() → Extraer un elemento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

constructor q es

A

su propósito general es construir un nuevo objeto.
ej:
class Stack: # Definiendo la clase de la pila.
def __init__(self): # Definiendo la función del constructor.
print(“¡Hola!”)

stack_object = Stack() # Instanciando el objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

variables de instancia.

A

Cada objeto lleva su propio conjunto de propiedades

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

__dict__
para crear que
como se usa

A

Crear un objeto de la clase Persona

(es un diccionario).
Vamos a usarla para presentar de forma segura el contenido de un objeto.
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad

p = Persona(“Ana”, 25)

Ver el diccionario de atributos del objeto
print(p.__dict__)
{‘nombre’: ‘Ana’, ‘edad’: 25}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

antepuesto dos guiones bajos (__).

A

instancia sea privada, se vuelve inaccesible desde el mundo exterior.
class ExampleClass:
def __init__(self, val = 1):
self.__first = val

def set_second(self, val = 2):
    self.\_\_second = val
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Variables de clase

A

Una variable de clase es una propiedad que existe en una sola copia y se almacena fuera de cualquier objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

contador

A

class ExampleClass:
counter = 0 # Esta es una variable de clase (compartida por todas las cajas)

def \_\_init\_\_(self, val = 1):
    self.\_\_first = val  # Se crea una variable dentro de cada caja
    ExampleClass.counter += 1  # Se incrementa la variable de clase cada vez que se crea una nueva caja

example_object_1 = ExampleClass() #valor de 1 por defecto
example_object_2 = ExampleClass(2) #le agregamos el valor de 2 en esta ocasion
example_object_3 = ExampleClass(4)#le agregamos el valor de 4 en esta ocasion

print(example_object_1.__dict__, example_object_1.counter)
print(example_object_2.__dict__, example_object_2.counter)
print(example_object_3.__dict__, example_object_3.counter)

{‘_ExampleClass__first’: 1} 3
{‘_ExampleClass__first’: 2} 3
{‘_ExampleClass__first’: 4} 3
counter sigue en 3, porque es compartido entre todas las cajas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

variables dento de clases y fuera

A

aun no hemos creado ninguna caja objeto asi que no hay instancias.

class ExampleClass:
varia = 1 # Esto es una variable de clase (compartida por todas las cajas)

def \_\_init\_\_(self, val):
    ExampleClass.varia = val  # Se cambia el valor de la variable de clase print(ExampleClass.\_\_dict\_\_) #ver que hay en la clase antes de crear las cajas

example_object = ExampleClass(2) #creamos caja objeto, ahora es varia=2 en todas las cajas porque es una variable conjunta.

print(ExampleClass.__dict__) #ver que hay en la clase y en la caja.

print(example_object.__dict__)

17
Q

Comprobando la existencia de un atributo

A

class ExampleClass:
def __init__(self, val):
if val % 2 != 0:#si el numero es impar
self.a = 1#se crea la variable a
else:#si el numero es par
self.b = 1#se crea varibale b

example_object = ExampleClass(1)

print(example_object.a)
print(example_object.b)
SOLO PUEDE TENER ATRIBUTO A O B COMO TIENE A LA SALIDA DICE:
Traceback (most recent call last):
File “.main.py”, line 11, in
print(example_object.b)
AttributeError: ‘ExampleClass’ object has no attribute ‘b’

La función retorna True o False.
Así es como puedes utilizarla:
class ExampleClass:
def __init__(self, val):

  if val % 2 != 0:

     self.a = 1

  else:

     self.b = 1
18
Q

hasattr

A

class ExampleClass:

a = 1 #variable de clase,accedida por los objetos

def __init__(self):

  self.b = 2  #variable de instancia, creada en los objetos

example_object = ExampleClass() {‘b’: 2} # Solo ‘b’ porque ‘a’ es de la clase
print(hasattr(example_object, ‘b’)) #True, b existe en el objeto porque se creó en __init__()

print(hasattr(example_object, ‘a’))#True, a no está dentro del objeto, pero como es una variable de clase, Python la encuentra al buscar en ExampleClass.

print(hasattr(ExampleClass, ‘b’))#false,b es una variable de instancia (se crea en objetos, no en la clase).

print(hasattr(ExampleClass, ‘a’))#True

19
Q

Métodos a detalle

A

class Classy:

def method(self, par): #par es un parametro que se pasa al metodo

  print("método:", par)

obj = Classy() #Se crea un objeto llamado obj de la clase Classy.
# se ejecuta el método con el valor correspondiente

obj.method(1)
obj.method(2)

obj.method(3)

El código da como salida:
método: 1
método: 2
método: 3

20
Q

var-varia

A

class Classy:

varia = 2

def method(self):

  print(self.varia, self.var)#Python buscará primero en el objeto (self), y si no lo encuentra, usará la variable de clase Classy.varia.

obj = Classy()

obj.var = 3 #se crea una variable de instancia var en el objeto obj con valor 3.Ahora el objeto obj tiene:{‘var’: 3}

obj.method()
#print(self.varia, self.var) imprime dos valores:
self.varia: Python lo busca en obj primero, pero como no existe, lo toma de la clase (Classy.varia = 2).
self.var: Se encuentra en obj, con el valor 3.
🔹 Salida esperada: 2 3

class Classy:
def __init__(self, value):
self.var = value #Se crea un atributo de instancia var, que recibe un valor cuando se crea el objeto.

obj_1 = Classy(“objeto”)

print(obj_1.var)# obtenemos el valor “objeto” porque es el que se pasó al constructor.
salida esperada:objeto