python学习笔记之---类的属性和方法的访问总结

拈花ヽ惹草 提交于 2019-12-01 22:50:26

 

类的概念:一组相关数据,和操作这组数据的方法。

  • 属性(类变量、实例变量)
  • 方法(实例方法、类方法、静态方法)

 

 

那么这些属性和方法是怎么去访问的呢?下面进行总结,方便对比和记忆:

class Person:
    count = 0 #类变量
    nation = "中国"

    def __init__(self,name,gender):
        self.name = name
        self.gender = gender
        Person.count +=1

    def get_name(self):#实例方法,必须要实例化
        return self.name
    #类方法:可以使用类变量,不能使用实例变量
    #通过类名来使用,类名.get_instance_count()
    #也可以通过实例调用,实例对象.get_instance_count()
    @classmethod
    def get_instance_count(cls):
        return Person.count

    @classmethod
    def create_a_instance(cls):
        return Person("张","女")

    @staticmethod   #静态方法:不需要self和cls
    def get_nation():
        return Person.nation

wulaoshi = Person("吴老师","Male") #实例化
#访问类变量的两种方式:
'''
①类名.类变量
②实例名.类变量
'''
print("类变量的调用方法:")
print(Person.count)
print(wulaoshi.count)

#访问实例变量的方法:
'''
①实例名.实例变量
②实例化.实例变量
'''
print("实例变量的调用方法:")
print(wulaoshi.name)
print(Person("吴老师","Male").name)

#访问实例方法的三种方式:
'''
①实例名.实例方法()
②实例化.实例方法()
③类名.实例方法(实例名)
'''
print("实例方法的调用方法:")
print(Person("吴老师","Male").get_name())
print(wulaoshi.get_name())
print(Person.get_name(wulaoshi))
#注意:实例方法是不能用类名来直接调用的
#访问类方法的两种方式:
'''
①类名.类方法()
②实例化.类方法()
'''
print("类方法的调用方法:")
print(Person.get_instance_count())
print(Person("吴老师","Male").get_instance_count())

#访问静态方法的两种方式:
'''
①类名.静态方法()
②实例化.静态方法()
'''
print("静态方法的调用方法:")
print(Person.get_nation())
print(Person("吴老师","Male").get_nation())

E:\>py -3 a.py
类变量的调用方法:
1
1
实例变量的调用方法:
吴老师
吴老师
实例方法的调用方法:
吴老师
吴老师
吴老师
类方法的调用方法:
3
4
静态方法的调用方法:
中国
中国

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!