• 类对象及类属性


    class MyClass:
    """A example class"""
    x = 'abc' # 类的属性

    def foo(self): # 类属性foo,也是方法
    print(self.x)
    return "My Class"

    类对象,类的定义就会生成一个类对象

    类的属性,类定义中的变量和类中定义的方法都是类的属性

    类变量,X就是类MyClass的变量

    MyClass中,x、foo都是类的属性,__doc__也是类的属性

    foo方法是类的属性,如同吃是人类的方法,但是每一个具体的人才能吃东西,也就是说吃是人的实例才能调用的方法。

    foo是method方法对象,不是普通的函数对象function了,它必须至少有一个参数,且一个参数必须是self(self可以换个名字),这个参数位置就留给了self.

    self 指代当前实例本身---不是类本身eg:print(MyClass.foo(1))--不对,报错;

    类是类类型的实例--print(type(MyClass))

    # class MyClass:
    # """A example class"""
    # x = 'abc' # 类的属性
    # def foo(self): # 类属性foo,也是方法
    # print(self.x)
    # return "My Class"
    #
    #
    # print(MyClass) #在main中运行<class '__main__.MyClass'>
    # print(MyClass.__name__) #打印类的名称
    # print(MyClass.x)
    # print(MyClass.foo) #打印的是内存地址,也是一个类;类的对象即类的实例
    # print(MyClass.__doc__) #打印描述性的文字:A example class
    #
    # print('------------------')
    # a=MyClass()#实例化,初始化
    # print(a.foo()) #print函数接类的方法的返回值,没有返回值就打印None


    class MyClass:
    """A example class"""
    x = 'abc' # 类的属性
    def foo(self): # 类属性foo,也是方法
    print(id(self))
    print(self)
    return self

    a=MyClass()
    # print(a.foo)
    print(a.foo())
    print(id(a))
  • 相关阅读:
    ShellExecuteEX打开iqy文件导致excel hang的原因分析
    3种方法遍历商人访问5个城市问题
    用CRT查找内存泄漏
    同步异步和阻塞5-异步非阻塞
    同步异步和阻塞4-同步非阻塞
    同步异步和阻塞3-同步阻塞
    同步异步和阻塞2-测试小项目
    同步异步和阻塞1
    IDA分析脱壳后丢失导入表的PE
    计算机中补码的数学运算逻辑及证明
  • 原文地址:https://www.cnblogs.com/pengwa1226/p/10251845.html
Copyright © 2020-2023  润新知