zoukankan      html  css  js  c++  java
  • 类对象及类属性

    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))
  • 相关阅读:
    团队冲刺2---个人工作总结八(6.1)
    团队冲刺2---个人工作总结七(5.31)
    opencv2 用imwrite 抽取并保存视频图像帧
    VMware 虚拟机CentOS 7 网路连接配置 无eth0简单解决办法
    个人总结
    人月神话阅读笔记03
    个人冲刺10
    人月神话阅读笔记02
    第十六周学习进度情况
    个人冲刺09
  • 原文地址:https://www.cnblogs.com/pengwa1226/p/10251845.html
Copyright © 2011-2022 走看看