从对象的角度研究类

class Human:
    """
    类的具体结构
    """
    # 第一部分:静态属性
    mind = "有思想"  # 类的属性(静态属性,静态字段)
    language = "使用语言"

    def __init__(self):

        # print(f'self----{self}')

        # print(666)

​        self.name = "yulin"
​        self.age = 22

    # 第二部分:动态方法

    def work(self):  # 方法(函数)
        print("人类都会工作")

    def eat(self):
        print("人类都需要吃饭")

实例化过程,得到一个返回值,这个返回值就是对象(实例)

obj = Human()
print(f'obj----{obj}')

实例化对象发生了三件事:
1、开辟一个对象空间
2、自动执行__init__()方法,并且将对象地址传给self
3、运行__init__()方法内的代码,给对象空间封装属性

class Human:
    """
    类的具体结构
    """

    # 第一部分:静态属性

​    mind = "有思想"  # 类的属性(静态属性,静态字段)
​    language = "使用语言"

    def __init__(self, name, age):
        # print(f'self----{self}')
        # print(666)
        self.n = name
        self.a = age
    
    # 第二部分:动态方法
    def work(self):  # 方法(函数)
        # print(f"self---{self}")
        print(f"{self.n}都会工作")
    
    def eat(self):
        print(f"{self.n}都需要吃饭")

实例化过程

obj = Human("yulin", 22)
print(obj.n)
print(obj.a)
print(obj.__dict__)

一、对象操作对象空间的属性
1、对象查看对象空间的所有属性

obj = Human("yulin", 22)
print(obj.__dict__)

2、对象操作(增删改查)对象空间的属性

obj = Human("yulin", 22)

增:

obj.sex = "boy"

删:

del obj.a

改:

obj.a = 18

查:

print(obj.a)

二、对象查看类中的属性

obj = Human("yulin", 22)
print(obj.mind)
obj.mind = "机智"
print(obj.mind)  # 增加对象的属性
print(Human.mind)

三、对象调用类中的方法

obj = Human("yulin", 22)
obj.work()
print(obj)
obj.eat()

self本身就是类中的方法的第一个位置参数,会自动接收对象的内存地址

一个类可以实例化多个对象

obj1 = Human("yulin", 1)
obj2 = Human("Ylinn", 2)
obj3 = Human("50", 3)
posted @ 2020-11-13 15:25  Ylinn  阅读(113)  评论(0)    收藏  举报