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

classmethod(function)

根据function返回一个method类。

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

用@classmethod声明一个类方法。

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

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

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

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

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:断言

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值