面对对象的类属性

类成员:
# 字段
- 普通字段,保存在对象中,执行只能通过对象访问
- 静态字段,保存在类中, 执行
可以通过对象访问
也可以通过类访问

# 方法
- 普通方法,保存在类中,由对象来调用,self =》对象
- 静态方法,保存在类中,由类直接调用
- 类方法,保存在类中,由类直接调用,cls =》当前类

class FOO:
    # 静态字段
    static_field = "aaa"

    def __init__(self):
        # 普通字段
        self.name = "a"
        self.name_list = ["a"]

    # 普通方法
    def com(self):
        print("com")

    # 静态方法
    @staticmethod
    def sta():
        print("sta")

    # 类方法
    @classmethod
    def classmd(cla):
        print("classmd")

    # 属性,特性
    @property
    def per(self):
        print("per")
        return self.name_list

    @per.setter
    def per(self, val):
        print(val)
        self.name_list.append(val)

    @per.deleter
    def per(self):
        print(self.name_list.pop())


obj = FOO()
obj.com()  # 普通方法调用,通过对象调用

FOO.sta()  # 静态方法调用,直接类调用
FOO.classmd()  # 类方法调用,默认传类名

r = obj.per  # 不加括号调用,跟字段调用一样,但是可以接收返回执行
print(r)

obj.per = "b"

del obj.per

 

posted @ 2024-12-10 18:42  GDquicksand  阅读(9)  评论(0编辑  收藏  举报