7查看模块:builtins内置方法

builtins模块提供对Python的所有“内置”标识符的直接访问;例如,builtins.open 是内置函数的全名 open() 。
dir()获得对象的方法

import builtins
fun = dir(builtins)
print(len(fun))
print(fun)
['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', 'PendingDeprecationWarning', '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', 
 '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', 
 '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 
 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 
 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 
 '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', 'quit', 'range', 'repr', 
 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 
 'tuple', 'type', 'vars', 'zip']

64个内置异常层级结构+3个异常

BaseException 所有内置异常的基类 +-- SystemExit 由 sys.exit() 函数引发此异常。如果不处理这个异常, Python 解释器退出 +-- KeyboardInterrupt 当用户按下中断键(通常是 Ctrl-C 或 Delete )时引发 +-- GeneratorExit 当调用一个 generator 对象的 close() 方法时引发 +-- Exception 所有内建的、非系统退出的异常,都是从该类派生的。此外, 应该从该类派生所有用户定义的异常 +-- StopIteration 当一个 iterator 的 next() 方法发出信号, 表示没有更多的值时引发 +-- StopAsyncIteration 必须由一个 asynchronous iterator 对象的 __anext__() 方法来引发以停止迭代操作。 +-- ArithmeticError 各种算术错误引发的内建异常的基类 | +-- FloatingPointError 当浮点数操作失败时引发 | +-- OverflowError 当要表示算术运算的结果太大时引发, 长整型不会引发该异常 | +-- ZeroDivisionError 当除法或取模运算的第 2 个参数为 0 时引发 +-- AssertionError 当 assert 语句失败时引发 +-- AttributeError 当属性引用或赋值失败时引发。当对象根本不支持属性引用或属性赋值时,将引发 TypeError +-- BufferError 当 buffer 相关的操作无法执行时引发 +-- EOFError 当内建函数 input() 或 raw_input() 的其中之一,在触及文件结尾 (EOF) 情形,而没有读取到任何数据时引发 +-- ImportError 当 import 语句无法找到模块定义,或者当 from ... import 语句未能找到要导入的名称时引发 | +-- ModuleNotFoundError 导入的模块不存在 +-- LookupError 当用于映射或序列的键或索引无效时引发的异常的基类 | +-- IndexError 当序列下标超出取值范围时引发。(切片索引会被静默地截取到允许范围内;如果索引不是一个普通整数,则引发 TypeError ) | +-- KeyError 当在现有键的集合中找不到映射的键时引发 +-- MemoryError 当一个操作将内存耗尽,但情况仍可挽救时(通过删除某些对象)时引发 +-- NameError 当找不到本地或全局名称时引发 | +-- UnboundLocalError 当引用函数或方法局部变量,但变量没有绑定值时引发 +-- OSError 此异常在一个系统函数返回系统相关的错误时将被引发,此类错误包括 I/O 操作失败例如 "文件未找到" 或 "磁盘已满" 等(不包括非法参数类型或其他偶然性错误) | +-- BlockingIOError 当一个操作阻塞一个设置为非阻塞操作的对象(例如套接字)时引发 | +-- ChildProcessError 在对子进程执行操作失败时引发 | +-- ConnectionError 连接相关问题的基类 | | +-- BrokenPipeError 当试图在管道上写入而另一端已关闭时尝试写入,或试图写入已关闭写入的套接字时引发 | | +-- ConnectionAbortedError 当连接尝试被同伴中止时引发 | | +-- ConnectionRefusedError 当连接尝试被同伴拒绝时引发 | | +-- ConnectionResetError 当连接被同伴重置时引发 | +-- FileExistsError 尝试创建已存在的文件或目录时引发 | +-- FileNotFoundError 当请求文件或目录但不存在时引发 | +-- InterruptedError 当系统调用被传入信号中断时引发 | +-- IsADirectoryError 在目录上请求文件操作时引发 | +-- NotADirectoryError 当目录操作被请求的目录不是目录时引发 | +-- PermissionError 当尝试运行没有足够访问权限的操作时引发 | +-- ProcessLookupError 当一个给定的过程不存在时引发 | +-- TimeoutError 当系统功能在系统级别超时时引发 +-- ReferenceError 当用一个由 weakref.proxy() 函数创建的弱引用代理,去访问引用者的属性,而该引用者已经被垃圾回收时,会引发此异常 +-- RuntimeError 当检出错误不属于任何其它类别时引发 | +-- NotImplementedError 在用户自定义的基类中,抽象方法应当在其要求所派生类重载该方法,或是在其要求所开发的类提示具体实现尚待添加时引发此异常。 | +-- RecursionError 它会在解释器检测发现超过最大递归深度 (参见 sys.getrecursionlimit()) 时被引发。 +-- SyntaxError 当解析器遇到语法错误时引发 | +-- IndentationError 与不正确的缩进相关的语法错误的基类 | +-- TabError 当缩进中包含对制表符和空格的混用时引发 +-- SystemError 当解释器发现内部错误,但情况并没有看起来那么严重,不至于到要放弃所有希望的地步,此时会引发本异常 +-- TypeError 当操作或函数应用于不合适类型的对象时引发 +-- ValueError 当内建操作或函数,接收到类型正确,但值不正确的参数,而且这种情况不能用诸如 IndexError 这样的更精确的异常进行描述时引发 | +-- UnicodeError 当有关 Unicode 编码或解码错误出现时引发 | +-- UnicodeDecodeError 当解码过程中出现的一个 Unicode 相关的错误时引发 | +-- UnicodeEncodeError 当编码过程中出现的一个 Unicode 相关的错误时引发 | +-- UnicodeTranslateError 当翻译过程中出现的一个 Unicode 相关的错误时引发 +-- Warning 警告类别基类 +-- DeprecationWarning 弃用特性警告基类 +-- PendingDeprecationWarning 将来会被弃用特性的警告基类 +-- RuntimeWarning 可疑 Runtime 行为警告基类 +-- SyntaxWarning 可疑句法警告基类 +-- UserWarning 用户代码生成警告基类 +-- FutureWarning 将来会改变语义结构的警告基类 +-- ImportWarning 可能弄错模块导入警告基类 +-- UnicodeWarning Unicode 相关的警告基类 +-- BytesWarning 与 bytes 和 bytearray 相关的警告的基类 +-- ResourceWarning 与资源使用相关的警告的基类。 会被默认的警告过滤器忽略

另外3个异常

EnvironmentError 操作系统错误的基类 WindowsError 系统调用失败 IOError 1.当错误的输入了一个不存在的文件名 2.不满足访问该文件的权限时 3.以读取方式打开了文件,并在读取模式中写入文件内容,所以引起错误

7个内置类属性

__build_class__ 可以接受的 這成爲一個新的(隱藏) 內置函數的調用,命名 __build_class__ __doc__ 输出文件开头注释的内容 __import__ 一般用于动态加载模块 __loader__ 是由加载器在导入的模块上设置的属性,访问它时将会返回加载器对象本身。 __name__ 一段程序作为主线运行程序时其内置名称就是 __main__ __package__ 模块的 __package__ 属性必须设定。 其取值必须为一个字符串,但可以与 __name__ 取相同的值。 当模块是包时,其 __package__ 值应该设为其 __name__ 值。 当模块不是包时,对于最高层级模块 __package__ 应该设为空字符串,对于子模块则应该设为其父包名。 __spec__ __spec__ 属性必须设为在导入模块时要使用的模块规格说明。 对 __spec__ 的正确设定将同时作用于 解释器启动期间初始化的模块。 唯一的例外是 __main__,其中的 __spec__ 会 在某些情况下设为 None.

6个内建常数

None 它属于 NoneType 类型,表示没有值,也就是空值。 True 它属于 bool 类型,Python程序语言指定任何非0和非空(null)值为true False 它属于 bool 类型,Python程序语言指定0 或者 null为false Ellipsis 该对象bool测试是为真,用来省略代码,作用类似于pass的一种替代方案 __debug__ 内置的只读变量 __debug__, 除非解释器运行在最优模式中(通过使用-O选项指定),否则它的值为True。在运行额外的错误检查过程时,程序可能在需要时检查这个变量。 NotImplemented 广泛应用于二元魔术方法中表示该类型无法和其它类型进行对应的二元运算

4个特殊名字

class _sitebuiltins._Helper的实例: _sitebuiltins._Printer的实例,用来打印一些信息: copyright credits license

69个内置函数+2

https://docs.python.org/3/library/functions.html

Built-in Functions
abs()delattr()hash()memoryview()set()
all()dict()help()min()setattr()
any()dir()hex()next()slice()
ascii()divmod()id()object()sorted()
bin()enumerate()input()oct()staticmethod()
bool()eval()int()open()str()
breakpoint()exec()isinstance()ord()sum()
bytearray()filter()issubclass()pow()super()
bytes()float()iter()print()tuple()
callable()format()len()property()type()
chr()frozenset()list()range()vars()
classmethod()getattr()locals()repr()zip()
compile()globals()map()reversed()_import_()
complex()hasattr()max()round()

exit() 调用exit()函数,终止Python程序

quit() 调用quit()函数,终止Python程序

7查看模块:builtins内置方法builtins模块提供对Python的所有“内置”标识符的直接访问;例如,builtins.open 是内置函数的全名 open() 。dir()获得对象的方法import builtinsfun = dir(builtins)print(len(fun))print(fun)运行结果153['ArithmeticError', 'Asse... 【产品用途】Python编程工具 运行这个程序,在顶上的搜索框中输入一个Python内置模块名(如random、builtins)然后按回车键。 它会列出这个模块里的元素。 双击任意列出的元素,可以查看它的详细信息。 包括名称、类型、值、属性以及__doc__。 注:代码版的可以搜索任意模块(包括自制模块)的属性,但是不知道为什么EXE版的不行 获取当前Node.js版本的核心模块列表: var builtins = require ( 'builtins' ) ( ) assert ( builtins . indexOf ( 'http' ) > - 1 ) 获取特定Node.js版本的核心模块列表: var builtins = require ( 'builtins' ) ( { version : '6.0.0' } ) assert ( builtins . indexOf ( 'http' ) > - 1 ) 将实验模块添加到列表中: var builtins = require ( 'builtins' ) ( { experimental : true } ) assert ( builtins . indexOf ( 'wasi' ) > - 1 ) 麻省理工学
这个模块提供了对于python内置标识符的直接访问,例如builtins.open内置函数open()的全名,也是对于内置open()的直接访问。 在程序中,如果我们需要改写python内置的标识符(函数等),就可以通过访问builtins实现,例如假如我们需要重写python的open()函数: import builtins def open(path): f = builtins...
python的builtins模块builtins模块详解1.介绍1.1 builtins: python内建模块1.2 builtins 与 __builtins__的区别.在__main__模块中.在非__main__模块中2.示例代码结果 builtins模块详解 1.1 builtins: python内建模块 内建模块就是在使用的时候不需要进行import, 在python启动之后,在没有执行程序员编写的任何代码之前,python会加载内建模块中函数到内存(python的内建函数,例如:
Traceback (most recent call last): File "sketch_gcn.py", line 392, in <module> model.train(epoch) File "sketch_gcn.py", line 264, in train self.conditional_generation(epoch) File "sketch_gcn.py", line 344, in co
1./: 本身不是一个具体的参数,只是限制前面的参数必须以位置参数传入:positional_only *: 本身也不是一个具体的参数,只是限制后面的参数必须以关键字的形式传参 sort(/, *, key=None, reverse=False) def special_arg(arg1, arg2, /): print(arg1, arg2) # 【×】positional-only arguments passed as keyword arguments: 'arg2' spec.
常用模块 python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的。 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能。 * pickle: pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存储。(pickle的过程也被称serializing,marshalling或者flattening,pickle同时可以用来将bytes流反序列化为python的对象)。 * sys:sys模块包含了跟python解析器和环境相关的变量和函数。 * 其他: atexit,gc,inspect,marshal,traceback,types,warnings,weakref。 * decimal:python中的float使用双精度的二进制浮点编码来表示的,这种编码导致了小数不能被精确的表示,例如0.1实际上内存中为0.100000000000000001,还有3*0.1 == 0.3 为False. decimal就是为了解决类似的问题的,拥有更高的精确度,能表示更大范围的数字,更精确地四舍五入。 * math:math模块定义了标准的数学方法,例如cos(x),sin(x)等。 * random:random模块提供了各种方法用来产生随机数。 * 其他:fractions,numbers。 3)数据结构,算法和代码简化 * array: array代表数组,类似与list,与list不同的是只能存储相同类型的对象。 * bisect: bisect是一个有序的list,其中内部使用二分法(bitsection)来实现大部分操作。 * collections:collections模块包含了一些有用的容器的高性能实现,各种容器的抽象基类,和创建name-tuple对象的函数。例如包含了容器deque,defaultdict,namedtuple等。 * heapq:heapq是一个使用heap实现的带有优先级的queue。 * itertools:itertools包含了函数用来创建有效的iterators。所有的函数都返回iterators或者函数包含iterators(例如generators 和generators expression)。 * operator: operator提供了访问python内置的操作和解析器提供的特殊方法,例如 x+y 为 add(x,y),x+=y为iadd(x,y),a % b 为mod(a,b)等等。 * 其他:abc,contextlib,functools。 4) string 和 text 处理 *codecs:codecs模块被用来处理不同的字符编码与unicode text io的转化。 * re:re模块用来对字符串进行正则表达式的匹配和替换。 * string:string模块包含大量有用的常量和函数用来处理字符串。也包含了新字符串格式的类。 * struct:struct模块被用来在python和二进制结构间实现转化。 * unicodedata:unicodedata模块提供访问unicode字符数据库 5) python数据库访问 * 关系型数据库拥有共同的规范Python Database API Specification V2.0,MySQL,Oracle等都实现了此规范,然后增加自己的扩展。 * sqlite3: sqlite3 模块提供了SQLite数据库访问的接口。SQLite数据库是以一个文件或内存的形式存在的自包含的关系型数据库。 * DBM-style 数据库模块:python提供了打了的modules来支持UNIX DBM-style数据库文件。dbm模块用来读取标准的UNIX-dbm数据库文件,gdbm用来读取GNU dbm数据库文件,dbhash用来读取Berkeley DB数据库文件。所有的这些模块提供了一个对象实现了基于字符串的持久化的字典,他与字典dict非常相似,但是他的keys和values都必须是字符串。 * shelve:shelve模块使用特殊的“shelf”对象来支持持久化对象。这个对象的行为与dict相似,但是所有的他存储的对象都使用基于hashtable的数据库(dbhash,dbm,gdbm)存储在硬盘。与dbm模块的区别是所存储的对象不仅是字符串,而且可以是任意的与pickle兼容的对象。 6)文件和目录处理 * bz2:bz2模块用来处理以bzip2压缩算法压缩的文件。
python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的。 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能。 * pickle: pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存储。(pickle的过程也被称serializing,marshalling或者flattening
一、@classmethod 与普通的类方法有所不同的是,用@classmethod修饰的类方法不传入self实例本身,而是传入cls,代表这个类自身,可以来调用类的属性,类的方法,实例化对象等。 使用的语法也非常简单,直接在类方法上加上装饰器@classmethod即可,另外传入cls参数作为方法的第一个参数。 class A(object): @classmethod def func(cls): 遇到问题没人解答?小编创建了一个P