1. Crea clases y objetos
1.1. Definir el formato de la clase:
class 类名:
方法列表
1.2. Crea uno o más objetos basados en la clase. El formato para crear un objeto es el siguiente:
对象名1 = 类名()
对象名2 = 类名()
1.3. Código de muestra
# 定义一个Person类
class Person:
# 实例方法
def speak(self):
print("我在学Python")
# 实例化对象p1
p1 = Person()
# 给p1对象添加属性,以及对应的属性值
p1.name = "crystal"
#调用对象的实例方法
p1.speak()
print("我的名字叫", p1.name)
# 实例化对象p2
p2 = Person()
# 给p2对象添加属性,以及对应的属性值
p2.name = "allan"
# 调用实例化方法
p2.speak()
print("我的名字叫", p2.name)
2. Obtener las propiedades del objeto a través de uno mismo.
Después de que se crea el objeto y se agregan los atributos, ¿cómo obtener estos atributos en el método de instancia de la clase? ===》 Obtener las propiedades del objeto a través de uno mismo
El código en 1.3 se puede modificar de la siguiente manera:
# 定义一个类
class Person:
# 实例化方法
# self指向调用speak()方法的对象
def speak(self):
print("我在学Python")
# print("我的名字叫%s,年龄%d" % (self.name, self.age))
# print("我的名字叫{n},年龄{a}".format(a=self.age, n=self.name))
print("我的名字叫{},年龄{}".format(self.name, self.age))
# 实例化一个对象
p1 = Person()
# 给p1对象添加属性,以及对应的属性值
p1.name = "crystal"
p1.age = 20
#调用实例化方法,即可获取对象p1的属性
p1.speak()
3 .__ init __ () método
3.1 .__ init __ () método mágico
Método mágico: el método que comienza con dos guiones bajos __ y termina con dos guiones bajos es el método mágico.
Método mágico __init __ (): generalmente se utiliza para realizar operaciones de inicialización y asignación de atributos, el método mágico __init __ () también se denomina método de construcción.
El código de muestra es el siguiente:
# 定义一个类
class Person(object):
# __init__()方法用来对变量做初始化和赋值操作,在类实例化对象的时候,会自动被调用
def __init__(self):
self.name = "crystal"
self.age = 20
# 实例化方法
def speak(self):
print("我的名字叫{},年龄{}".format(self.name, self.age))
# 实例化一个对象p,会自动调用__init()__对象
p = Person()
# 调用实例化方法speak(),即可获取对象p的属性
p.speak();
3.2. Método __init __ () con parámetros
Defina el valor fijo del atributo en el método __init __ (), entonces el valor del atributo de cada objeto instanciado es el mismo, ¿cómo hacer que cada objeto instanciado tenga diferentes valores de atributo? ===》 Se puede utilizar el método __init __ () con parámetros
El código de muestra es el siguiente:
# 定义一个类
class Person(object):
# __init__()构造方法,用来对变量做初始化和赋值操作
def __init__(self, name, age):
self.name = name
self.age = age
# 实例化方法
def speak(self):
print("我的名字叫{},年龄{}".format(self.name, self.age))
# 实例化一个对象p1
p1 = Person("crystal", 20)
# 调用实例化方法speak(),即可获取对象p1的属性值
p1.speak()
# 实例化一个对象p2
p2 = Person("allan", 29)
# 调用实例化方法speak(),即可获取对象p2的属性值
p2.speak()
3.3. Atención
__init__(self)
En, hay un parámetro llamado self de forma predeterminada. Si se pasan dos parámetros reales al crear un objeto,__init__(self)
se requieren dos parámetros además de self como primer parámetro, por ejemplo:__init__(self,x,y);
- Obtenga propiedades y métodos de instancia dentro de la clase y consígalos a través de self;
- Obtener propiedades y métodos de instancia fuera de la clase y obtenerlos por nombre de objeto;
- Si hay varios objetos en una clase, las propiedades de cada objeto se almacenan por separado y tienen sus propias direcciones independientes;
- El método de instancia es compartido por todos los objetos y solo ocupa un espacio de memoria. La clase usará self para determinar qué objeto llama método de instancia.