Directorio de artículos
07-Object Oriented \ 01-Object Oriented Basics.pdf
1. Defina la clase
class Washer():
def wash(self):
print('我会洗衣服')
print(self)
2. Crea un objeto
对象名 = 类名()
1. Ejemplo práctico
class Washer():
def wash(self):
print('我会洗衣服')
haier = Washer()
print(haier)
haier.wash()
Producción:
<__main__.Washer object at 0x000002076E0C1FD0>
我会洗⾐衣服
3. self-el propio objeto que llama a la función
self se refiere al objeto que llamó a la función.
class Washer():
def wash(self):
print('我会洗衣服')
print(self)
haier = Washer()
print(haier)
haier.wash()
Producción:
<__main__.Washer object at 0x000001C91DB51FD0>
我会洗衣服
<__main__.Washer object at 0x000001C91DB51FD0>
Los resultados obtenidos al imprimir el objeto y el self son los mismos, y ambos son las direcciones de almacenamiento en la memoria del objeto actual.
4. Agregar y obtener propiedades de objeto
1. Agregue propiedades de objeto fuera de la clase
1. Gramática
对象名.属性名 = 值
2. Ejemplos de código
class Washer():
def wash(self):
print('我会洗衣服')
print(self)
haier = Washer()
print(haier)
haier.wash()
haier.width = 100
haier.height = 200
print(f'haier 洗衣机的高度是{haier.height}')
print(f'haier 洗衣机的宽度是{haier.width}')
Producción:
<__main__.Washer object at 0x000001DD4A8A2FD0>
我会洗衣服
<__main__.Washer object at 0x000001DD4A8A2FD0>
haier 洗衣机的高度是200
haier 洗衣机的宽度是100
2. Obtenga propiedades dentro de la clase
1. Gramática
self.属性名
2. Ejemplos de código
# 定义类
class Washer():
def print_info(self):
# 类里面获取实例属性
print(f'haier1洗衣机的宽度是{self.width}')
print(f'haier1洗衣机的高度是{self.height}')
# 创建对象
haier1 = Washer()
# 添加实例例属性
haier1.width = 500
haier1.height = 800
haier1.print_info()
5. Método mágico
En Python, las __xx__()
funciones se denominan métodos mágicos, que se refieren a funciones con funciones especiales.
1. __init__()
1. __init__() 方法的作用:
Inicializa el objeto
# 定义类
class Washer():
def __init__(self):
self.width = 300
self.height = 200
def print_info(self):
print(f'洗衣机的宽度是{self.width}, 高度是{self.height}')
# 创建对象
haier = Washer()
# 添加实例属性
haier.print_info()
Producción:
洗衣机的宽度是300, 高度是200
2. __init__()
Asuntos que requieren atención
__init__()
Método, que se llama de forma predeterminada cuando se crea un objeto y no necesita llamarse manualmente__init__(self)
El desarrollador no necesita pasar el parámetro self en, el intérprete de Python pasará automáticamente la referencia del objeto actual.
3. Con parámetros __init__()
Pensamiento: una clase puede crear varios objetos. ¿Cómo establecer diferentes propiedades de inicialización para diferentes objetos?
Respuesta: Pasar parámetros.
1. Ejemplo de código
class Washer():
def __init__(self, width, height):
self.width = width
self.height = height
def print_info(self):
print(f'洗衣机的宽度是{self.width}')
print(f'洗衣机的高度是{self.height}')
haier1 = Washer(10, 20)
haier1.print_info()
haier2 = Washer(30, 40)
haier2.print_info()
Producción:
洗衣机的宽度是10
洗衣机的高度是20
洗衣机的宽度是30
洗衣机的高度是40
2. __str__()
Cuando se utiliza la impresión para imprimir un objeto, la dirección de memoria del objeto se imprime de forma predeterminada. Si la clase se define como __str__
método了, devolverá los datos de impresión de este método.
1. Ejemplo de código
class Washer():
def __init__(self, width, height):
self.width = width
self.height = height
def __str__(self):
return '这是海尔洗衣机的说明书'
haier1 = Washer(10, 20)
# 这是海尔洗衣机的说明书
print(haier1)
Producción:
这是海尔洗衣机的说明书
3. __del__()
Cuando eliminas un objeto, python explica 器 llamará al __del__()
método predeterminado .
1. Ejemplo de código
class Washer():
def __init__(self, width, height):
self.width = width
self.height = height
def __del__(self):
print(f'{self}对象已经被删除')
haier1 = Washer(10, 20)
# <__main__.Washer object at 0x0000026118223278>对象已经被删除
del haier1
Producción:
<__main__.Washer object at 0x0000022F8FBC1FD0>对象已经被删除