Python3.5.2 document学习系列之04、The Python Standard Library(python 标准库)——内置函数

Python3.5.2 document学习系列之04、The Python Standard Library(python 标准库)——内置函数_第1张图片

classmethod(function)

根据function返回一个method类。

类方法接收类作为第一个参数,就像一个实例方法接收一个实例。

用@classmethod声明一个类方法。

@classmethod格式是一个方法装饰器——可以在【Function definitions】查看方法定义的详细介绍。

它可以用类或者实例去调用。它会忽略实例对象,只关注实例对应的类。如果一个类方法被派生类调用,派生类对象将作为隐含的第一个参数。

类方法不同于C++或者Java的静态方法,可以通过“satticmethod()”了解静态方法。

要了解更多关于类方法的信息,可以在【The standard type hierarchy】中查阅关于标准类型等级文档。

Python3.5.2 document学习系列之04、The Python Standard Library(python 标准库)——内置函数_第2张图片

Python3.5.2 document学习系列之04、The Python Standard Library(python 标准库)——内置函数_第3张图片

compile(source,filename,mode,flags=0,dont_inherit=False,optimize=-1)

把源文件编译成代码格式或者AST object。Code类可以被exec()和eval()执行。source可以是普通字符串,字节字符串,或者一个AST object。参考【ast】模块文档了解AST objects的工作原理。

filename参数应该给出文件格式,如果没有给出则应该给出一些可以认识的值。

mode参数明确了用哪种code来编译;如果source由一些列声明组成则是exec,如果由单一的表达式则是eval,如果由单个的相互作用的声明则是single(在最后的情况,表达式会跟另一个做比较然后打印None)。

可选参数flags和dont_inherit控制着影响source编辑的以后的声明。如果两个参数都不存在则代码将会与正在调用compile()中生效的那些未来语句一起编译。如果只给了flags参数,除了那些已经被使用的之外被flags明确的未来语句被使用。如果dont_inherit是一个非零整数flags参数也是非零整数——未来语句在调用时起作用编译时被忽略。

未来语句可以按位运算来指定多个语句的位指定。位字段需要明确给定一个特征,这个特征可以在__future__模块的_Feature实例作为compiler_flag来指定。

 

optimize明确了编译器的最佳化级别;默认值-1表示最优化级别被给了0个可选项。明确的级别有0(没有优化__debug__ is ture);1(移去了断言__debug__is flase);2(移除了文档注释)。

如果编译source无效会造成“语法错误”异常,如果包含空字节会造成“值错误”异常。

查看ast.parse()了解把Python 代码转换成AST表示形式。

Note:当编译一个有着多线代码用single或者eval mode时,必须用一个新的字符来种植输入。这可以帮助检测代码模块的完整和不完整语句。

 

生词:

implicit:含蓄的,暗示的,(默认的)

declare:声明,断言,宣称

consult:查阅,请教,商量

hierarchy:层级,等级制度

refer:参考

recognizable:可辨认的,可认识的

compile:编译

interactive:交互式的,相互作用的

latter:后面的,后者的

evaluate:评估,评价

inherit:继承

compilation:编辑

present:提出,介绍,呈现,赠送

bitwise:(n)按位,逐位

bitfield:位字段

optimize:优化,完善

explicit:明确的,直率的,显式的

assert:断言

 

 

 

 

 

 

你可能感兴趣的:(python)