Notas de estudio de Python (ocho): creación de clases y objetos, y el uso del método __init __ ()

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.

Supongo que te gusta

Origin blog.csdn.net/weixin_44679832/article/details/114183700
Recomendado
Clasificación