Python 类的属性再解

#类的属性

class A():
        #定义一个类的属性,类似于c++中的静态变量
        num=0

        def __init__(self):
                #实例对象属性定义赋值
                self.name = "hha"
        
        def add(self):
                #类属性的调用
                A.num += 1



a = A()

a.add()

a.add()

print(A.num)
#类中的方法


class Dog():
        #系统默认实例方法
        def __init__(self):
                self.name = "tom"

        #自定义实例方法
        def eat(self):
                print("eating ...")

        #类属性
        age = 12

        #类方法的声明
        @classmethod
        def setage(cls):
                #这里的cls变量表示类变量,可以直接操作类属性,不要和self同名
                cls.age += 2

        #静态方法--类似于c++中的全局函数
        #和类方法的区别是没有cls形参
        @staticmethod
        def show():
                print("hell world .")




'''
类方法和静态方法 既可以通过类名调用,也可以通过实例对象调用

类方法主要为了操作类属性

静态方法与类没啥关系,类似于将main函数封装到类中的感觉

'''

d = Dog()

d.eat()

d.setage()

print("-----1------")
print(Dog.age)
print(d.age)

Dog.setage()

print("-----2------")
print(Dog.age)


print("----3-----")

d.show()

print("----4--------")

Dog.show()

 

posted on 2018-09-02 18:49  寒魔影  阅读(120)  评论(0编辑  收藏  举报

导航