小猿圈之Python 类的属性再解

python中万物皆对象,可见面向对象在python开发过程中是重中之重,小猿圈老师从基础详解面向对象,今天一起看一下python类的属性。

首先要知道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()


python类的属性就到这里了,小猿圈老师感觉大家看后应该对这部分知识没问题了,后面咱们还会提到更多类的属性,静态属性、cls等等,让大家对类的属性有深入的了解,希望大家可以尽快掌握python的基础知识。


猜你喜欢

转载自blog.51cto.com/14379906/2407191