• python 类和实例【对象、方法】区分


    对象

    类对象 就是类的名字
    class A:
    pass
    这里定义一个类,A就是类对象
    实例对象 类创建的对象
    a = A() 此时a就是一个实例对象

    属性

    类属行 就是类所拥有的属性,它被所有的类对象所共有,在内存中只有一个副本,类似于c++和Java中的静态成员变量.对于公有的类属性,类对象和实例对象都可以访问类属性.

    class A(object):
         name = "你好 "    # 共有类属性 
         __age = 18        # 私有类属性
    p = A()
    print(p.name)   # 实例对象调用类属性
    print(A.name)   # 类对象调用类属性
    #  print(p.__age) 错误,在外部不能访问私有类属性
    print(p._A__age)  # 正确,可以使用这种方式调用,但是不建议使用
    p.age = 19   # 这是实例属性  , 在实例对象上面建立的属性
    # A.age       # 错误, 类属性不能调用实例属性 ,, 反之成立 , 实例属性可以调用共有类属性
    
    

    方法
    实例方法:
    定义: 第一个参数必须是实例对象,一般用self来代替,通过它来传递实例的属性和方法(也可以传递类的属性和方法)
    调用:只能由实例来调用
    类方法:
    定义:使用装饰器@classmethod,第一个参数必须是类对象,该参数名一般约定为cls,通过它来传递类属性和方法(不能传递实例对象和方法)
    调用: 实例对象和类对象都可以调用
    静态方法:
    定义:使用装饰器你@staticmethod,参数没有要求,不需要self,cls.但是方法中不能使用类或实例的任何属性和方法.就是一个普通的函数放到了类中
    调用: 实例对象和类对象都可以调用
    在这里插入图片描述

    对于用法而言,实例方法只能被实例对象调用,其他两种实例对象和类对象都可以调用

    /*
    上面一小段内容来自
    作者:莫辜负自己的一世韶光
    链接:https://www.jianshu.com/p/309caac72272
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
    */

  • 相关阅读:
    环境装好,开始学习
    懒惰了
    我的net试验田
    时间不够用
    【转帖】关于委托的精彩解说(非常形象)
    【转帖】 CLR 全面透彻解析:托管和本机代码互操作性
    【转贴】C#中的API32
    【转帖】Windows Mobile 开发系列文章收藏 Windows Mobile 6.x
    弹跳圣经——扣篮梦
    【转帖】.Net中C#的DllImport的用法
  • 原文地址:https://www.cnblogs.com/spnooyseed/p/12870927.html
Copyright © 2020-2023  润新知