您的位置:首页 > 编程语言 > Python开发

[py]python的继承体系

2018-01-15 15:40 591 查看

python的继承体系

python中一切皆对象



随着类的定义而开辟执行

class Foo(object):
print 'Loading...'
spam = 'eggs'
print 'Done!'

class MetaClass(type):
def __init__(cls, name, bases, attrs):
print('Defining %s' % cls)
print('Name: %s' % name)
print('Bases: %s' % (bases,))
print('Attributes:')
for (name, value) in attrs.items():
print('    %s: %r' % (name, value))

class RealClass(object, metaclass=MetaClass):
spam = 'eggs'

判断对象是否属于这个类

class person():pass
p = person()
isinstance(p2,person)

类的方法

__class__
__delattr__
__dict__
__dir__
__doc__
__eq__
__format__
__ge__
__getattribute__
__gt__
__hash__
__init__
__init_subclass__
__le__
__lt__
__module__
__ne__
__new__
__reduce__
__reduce_ex__
__repr__
__setattr__
__sizeof__
__str__
__subclasshook__
__weakref__

实例和类存储

静态字段
普通字段

普通方法
类方法
静态方法

字段:
普通字段
静态字段 共享内存

方法都共享内存: 只不过调用方法不同
普通方法 self
类方法   不需要self
静态方法 cls

关键字

from keyword import kwlist
print(kwlist)

>>> help()
help> keywords

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

查看本地环境所有可用模块

help('modules')

IPython             aifc                idlelib             selectors
__future__          antigravity         imaplib             setuptools
__main__            argparse            imghdr              shelve
_ast                array               imp                 shlex
_asyncio            ast                 importlib           shutil
_bisect             asynchat            inspect             signal
_blake2             asyncio             io                  simplegener
_bootlocale         asyncore            ipaddress           site
_bz2                atexit              ipython_genutils    six
_codecs             audioop             itertools           smtpd
_codecs_cn          autoreload          jedi                smtplib
_codecs_hk          base64              jieba               sndhdr
_codecs_iso2022     bdb                 json                socket
_codecs_jp          binascii            keyword             socketserve
_codecs_kr          binhex              lib2to3             sqlite3
_codecs_tw          bisect              linecache           sre_compile
_collections        builtins            locale              sre_constan
_collections_abc    bz2                 logging             sre_parse
_compat_pickle      cProfile            lzma                ssl
_compression        calendar            macpath             stat
_csv                cgi                 macurl2path         statistics
_ctypes             cgitb               mailbox             storemagic
_ctypes_test        chunk               mailcap             string
_datetime           cmath               markdown            stringprep
_decimal            cmd                 marshal             struct
_dummy_thread       code                math                subprocess
_elementtree        codecs              mimetypes           sunau
_findvs             codeop              mmap                symbol
_functools          collections         modulefinder        sympyprinti
_hashlib            colorama            msilib              symtable
_heapq              colorsys            msvcrt              sys
_imp                compileall          multiprocessing     sysconfig
_io                 concurrent          netrc               tabnanny
_json               configparser        nntplib             tarfile
_locale             contextlib          nt                  telnetlib
_lsprof             copy                ntpath              tempfile
_lzma               copyreg             nturl2path          test
_markupbase         crypt               numbers             tests
_md5                csv                 opcode              textwrap
_msi                ctypes              operator            this
_multibytecodec     curses              optparse            threading
_multiprocessing    cythonmagic         os                  time
_opcode             datetime            parser              timeit
_operator           dbm                 parso               tkinter
_osx_support        decimal             pathlib             token
_overlapped         decorator           pdb                 tokenize
_pickle             difflib             pickle              trace
_pydecimal          dis                 pickleshare         traceback
_pyio               distutils           pickletools         tracemalloc
_random             django              pip                 traitlets
_sha1               django-admin        pipes               tty
_sha256             doctest             pkg_resources       turtle
_sha3               dummy_threading     pkgutil             turtledemo
_sha512             easy_install        platform            types
_signal             email               plistlib            typing
_sitebuiltins       encodings           poplib              unicodedata
_socket             ensurepip           posixpath           unittest
_sqlite3            enum                pprint              urllib
_sre                errno               profile             uu
_ssl                faulthandler        prompt_toolkit      uuid
_stat               filecmp             pstats              venv
_string             fileinput           pty                 warnings
_strptime           fnmatch             py_compile          wave
_struct             formatter           pyclbr              wcwidth
_symtable           fractions           pydoc               weakref
_testbuffer         ftplib              pydoc_data          webbrowser
_testcapi           functools           pyexpat             wheel
_testconsole        gc                  pygments            whoosh
_testimportmultiple genericpath         pytz                winreg
_testmultiphase     getopt              queue               winsound
_thread             getpass             quopri              wsgiref
_threading_local    gettext             random              xdrlib
_tkinter            glob                re                  xml
_tracemalloc        gzip                reprlib             xmlrpc
_warnings           hashlib             rlcompleter         xxsubtype
_weakref            haystack            rmagic              zipapp
_weakrefset         heapq               runpy               zipfile
_winapi             hmac                sched               zipimport
abc                 html                secrets             zlib
activate_this       http                select

dir() 函数: 显示模块属性和方法

__builtin__模块在Python3中重命名为builtins。

In [2]: dir(__builtins__)
Out[2]:
['ArithmeticError',
'AssertionError',
'AttributeError',
'BaseException',
'BlockingIOError',
'BrokenPipeError',
'BufferError',
'BytesWarning',
'ChildProcessError',
'ConnectionAbortedError',
'ConnectionError',
'ConnectionRefusedError',
'ConnectionResetError',
'DeprecationWarning',
'EOFError',
'Ellipsis',
'EnvironmentError',
'Exception',
'False',
'FileExistsError',
'FileNotFoundError',
'FloatingPointError',
'FutureWarning',
'GeneratorExit',
'IOError',
'ImportError',
'ImportWarning',
'IndentationError',
'IndexError',
'InterruptedError',
'IsADirectoryError',
'KeyError',
'KeyboardInterrupt',
'LookupError',
'MemoryError',
'ModuleNotFoundError',
'NameError',
'None',
'NotADirectoryError',
'NotImplemented',
'NotImplementedError',
'OSError',
'OverflowError',
'PendingDeprecationWarnin
'PermissionError',
'ProcessLookupError',
'RecursionError',
'ReferenceError',
'ResourceWarning',
'RuntimeError',
'RuntimeWarning',
'StopAsyncIteration',
'StopIteration',
'SyntaxError',
'SyntaxWarning',
'SystemError',
'SystemExit',
'TabError',
'TimeoutError',
'True',
'TypeError',
'UnboundLocalError',
'UnicodeDecodeError',
'UnicodeEncodeError',
'UnicodeError',
'UnicodeTranslateError',
'UnicodeWarning',
'UserWarning',
'ValueError',
'Warning',
'WindowsError',
'ZeroDivisionError',
'__IPYTHON__',
'__build_class__',
'__debug__',
'__doc__',
'__import__',
'__loader__',
'__name__',
'__package__',
'__spec__',
'abs',
'all',
'any',
'ascii',
'bin',
'bool',
'bytearray',
'bytes',
'callable',
'chr',
'classmethod',
'compile',
'complex',
'copyright',
'credits',
'delattr',
'dict',
'dir',
'display',
'divmod',
'enumerate',
'eval',
'exec',
'filter',
'float',
'format',
'frozenset',
'get_ipython',
'getattr',
'globals',
'hasattr',
'hash',
'help',
'hex',
'id',
'input',
'int',
'isinstance',
'issubclass',
'iter',
'len',
'license',
'list',
'locals',
'map',
'max',
'memoryview',
'min',
'next',
'object',
'oct',
'open',
'ord',
'pow',
'print',
'property',
'range',
'repr',
'reversed',
'round',
'set',
'setattr',
'slice',
'sorted',
'staticmethod',
'str',
'sum',
'super',
'tuple',
'type',
'vars',
'zip']

模块的继承



有个疑问

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: