Por convenio se aconseja documentar las clases añadiendo una cadena de texto después de la línea inicial class donde se informa del contenido y utilidad de esa clase.
Una cadena Docstring es una cadena literal que aparece como la primera declaración en una definición de módulo, función, clase o método.
La dos primeras línes son comentarios que no pertenecen al Docstring.
Estas dos líneas, si se incluyen, deben ir las primeras.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Radio:
"""Modelado de una radio de FM"""
def __init__(self,encendida,emisora,volumen): # self siempre va el primero y hace referencia al propio objeto
self.encendida = encendida # self.encendida es un "atributo de instancia"
self.emisora = emisora # self.emisora es un "atributo de instancia"
self.volumen = volumen # self.volumen es un "atributo de instancia"
def estado(self):
if self.encendida:
print(f"La radio sintoniza {self.emisora} a un volumen de {self.volumen}.")
else:
print("La radio está apagada.")
autoRadio=Radio(encendida=True, emisora="Radio FM", volumen=5) # instanciamos un objeto de tipo Radio
autoRadio.estado() # accedemos al método usando la notación de punto
La radio sintoniza Radio FM a un volumen de 5.
En este ejemplo añadiremos Docstring a la clase y en cada método.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Bicicleta: # por costumbre, comienzan en mayúsculas y singular, o CamelCase
'''Modelado de una bicicleta mecánica'''
def __init__(self, tipo, tam):
'''Inicializa los atributos tipo y tamaño'''
self.tipo=tipo
self.tam=tam
def velocidad(self, vel):
'''Simula la velocidad de una bicicleta'''
if vel != 0:
print("La velocidad actual de la bici es:", vel)
else:
print("La bici está parada.")
miBici=Bicicleta("montaña","cadete")
miBici.velocidad(2)
print("La bici es de tipo:", miBici.tipo) # accedemos a uno de los atributos usando la notación de punto
Bicicleta("montaña", "grande").tam # creamos otra bici sin asignar a una variable, pero funciona llamar al atributo
# lo aconsejable es asignar la instancia creada a una variable
miBici.velocidad(5) # accedemos a un método usando la notación punto
La velocidad actual de la bici es: 2 La bici es de tipo: montaña La velocidad actual de la bici es: 5
otraBici = Bicicleta("carreras", "mediana") # creamos otra instancia de la clase Bicicleta
otraBici.velocidad(0) # accedemos al método velocidad
La bici está parada.
miBici # nos dice que es un objeto de tipo Bicicleta y da la dirección de memoria
<__main__.Bicicleta at 0x7f92604b3ee0>