Python 类,实例,方法,属性

注:在runoob上学Python发现上面好多坑啊,有些描述根本就是一点不准确,在此总结一下

参考--Python的实例方法,类方法,静态方法之间的区别及调用关系

# 类定义
class People:
    # 定义基本属性
    # 类属性
    classp = 888
    name = 'people'
    age = 0
    # 定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    # 定义构造方法
    # 定义在__init__()方法里的变量就是实例属性,这些属性只有被创建时才会被创建。
    # 当类属性与实例属性同名时,一个实例访问这个属性时实例属性会覆盖类属性,但类访问时不会。
    def __init__(self, n, a, w):
        self.name = n
        self.age = a
        # 私有实例属性
        self.__weight = w
        self.height = 166

        self.score = 12
    # 私有实例方法
    def __foo(self):
        print('执行私有实例方法')

    # 实例方法默认self为参数,self是实例
    def speak(self):
        self.number = 22856
        print("%s 说: 我 %d 岁。" %(self.name,self.age))
        self.__foo()

    # 私有类方法
    @classmethod
    def __classfoo(cls):
        print('执行私有类方法')
    # 类方法默认类做参数
    @classmethod
    def classRun(cls):
        print("gogogo")
        cls.__classfoo()

    # 静态方法
    @staticmethod
    def staticfunc():
        print('staticFuc')

    # 普通方法(会报没有参数的错误但是不影响执行)
    def function():
        print('normalFunction')

# 实例化类
p = People('runoob', 10, 30)
q = People('runhero', 11, 31)
# 实例调用实例方法
p.speak()
# 实例调用静态方法
p.staticfunc()
# 实例调用普通方法,无法调用
# p.function()#错误
# 类调用实例方法带实例参数
People.speak(q)
# 类调用静态方法
People.staticfunc()
# 类调用普通方法
People.function()
# 类调用类方法
People.classRun()

# 改变实例属性只影响相应实例
p.age = 80
# 改变类属性,影响类和对应实例(注意类属性和实例属性重名时,实例访问时实例属性覆盖类属性)
People.classp = 80
# 实例可访问类属性,类不可访问实例属性
# print(people.height)#错误
# 实例可以访问类属性classp
print(p.name,p.age,p.height,p.classp,p.score,p.number)
# 类访问类属性
print(People.name, People.age)
p.classp = 886
print(q.name, q.age, q.height, q.classp, q.score)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,958评论 25 709
  • 本文为《爬着学Python》系列第十四篇文章。 中间因为工作原因隔了好久没有更新,现在稳定很多,会陆续开始更新。不...
    SyPy阅读 14,192评论 1 10
  • 要说我也写了不少文章,但真正的让人心动的文章还是少之又少,当夜深人静的时候自已默默苦想,到低是为什么?终究没有答案...
    安林火风阅读 4,763评论 0 1
  • 东南西北风, 还有白发中, 三六九条皆不赢, 单独摸七饼。 你听清一色, 我和一条龙, 一百三十六张牌, 变化真无...
    南海老人阅读 1,315评论 0 2
  • 通往人生下一站的车缓缓行进着,我独自一人,带上老师的希冀,家人的满腹期望,朋友的祝愿。尽管感到孤独、...
    呼小乎阅读 3,335评论 0 0

友情链接更多精彩内容