zoukankan      html  css  js  c++  java
  • python class metaclass instance

    >>> class CObj(object):
    ... pass
    ...
    >>> dir()
    ['CObj', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
    >>> cob = CObj
    >>> dir()
    ['CObj', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'cob']

    >>> help(__name__)
    Help on module __main__:

    NAME
    __main__

    CLASSES
    builtins.object
    CObj

    class CObj(builtins.object)
    | Data descriptors defined here:
    |
    | __dict__
    | dictionary for instance variables (if defined)
    |
    | __weakref__
    | list of weak references to the object (if defined)

    cob = class CObj(builtins.object)
    | Data descriptors defined here:
    |
    | __dict__
    | dictionary for instance variables (if defined)
    |
    | __weakref__
    | list of weak references to the object (if defined)

    FILE
    (built-in)


    >>> cins = cob()
    >>> cins
    <__main__.CObj object at 0x0000000000B5CC88>
    >>> cins2 = CObj()
    >>> cins2
    <__main__.CObj object at 0x00000000013F5E10>
    >>> CObj.x1 = 20
    >>> cins
    <__main__.CObj object at 0x0000000000B5CC88>
    >>> cins.x1
    20
    >>> cins2.x1
    20
    >>> cins2.y1=30
    >>> cins.y1
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    AttributeError: 'CObj' object has no attribute 'y1'
    >>> CObj.y1
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    AttributeError: type object 'CObj' has no attribute 'y1'
    >>> dir(cins)
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__
    gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__
    repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'x1']
    >>> dir(cins2)
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__
    gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__
    repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'x1', 'y1']
    >>> dir(cob)
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__
    gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__
    repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'x1']
    >>> dir(CObj)
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__
    gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__
    repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'x1']
    >>>

    >>> hasattr(CObj, x1)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    NameError: name 'x1' is not defined
    >>> hasattr(CObj, 'x1')
    True
    >>> hasattr(CObj, 'y1')
    False
    >>> hasattr(CObj, 'y1')

  • 相关阅读:
    循环图片 yi
    给大家一个经典的.net情感故事 yi
    [东邪西毒][程序员版][原版][剧情] yi
    Sqlite 使用笔记 中文显示为乱码 yi
    sql2005安装过程,(不装C盘) yi
    Visual Studio 2010 美女与程序员的爱情网剧全集 yi
    IT行业几大职业病 yi
    标准化操作
    【ActiveMQ Tuning】Serializing to Disk
    我的山寨敏捷四季之春
  • 原文地址:https://www.cnblogs.com/alexyuyu/p/6247042.html
Copyright © 2011-2022 走看看