关于python抽象语法树(AST)

在学习tvm script的过程中接触到了python抽象语法树,记录一下
lineno
col_offset

ast.expr 和 ast.stmt 子类的实例有 lineno 和 col_offset 属性。lineno 是源代码的行数(从1开始, 所以第一行行数是1),而 col_offset 是该生成节点第一个token的UTF-8字节偏移量。记录下UTF-8偏移量的原因是parser内部使用UTF-8。

“”“
什么是上下文管理器?

这里先了解下上下文,上下文是 context 直译的叫法,在程序中用来表示代码执行过程中所处的前后环境,比如在文件操作时,文件需要打开关闭,而文件读写操作就处于文件操作的上下文环境中。

上下文管理器,上下文管理器是指在一段代码执行之前,执行一些预处理的工作,代码执行之后再执行一些清理工作。

上下文管理器中有__enter__()和 exit() 两个方法,enter()方法在执行 with 后面的语句时执行,一般用来处理操作前的内容,比如一些创建对象,初始化等; exit() 方法在 with 内的代码执行完毕后执行,一般用来处理一些善后收尾工作,比如文件的关闭,数据库的关闭等。

简单来说,上下文管理器的原理过程如下:

调用__enter__()方法,进行预处理操作执行用户操作调用 __exit__() 方法,完成清理操作
”“”

operator 模块导出了一组与 Python 的内在运算符相对应的高效函数。 例如,operator.add(x, y) 等价于表达式 x+y。 许多函数名称是用于特殊方法的名称,没有双下划线。 为了向后兼容,其中许多都有保留双下划线的变体。 为清楚起见,首选不带双下划线的变体。

函数签名(或类型签名,或方法签名) 定义函数或方法的输入和输出 。 签名可以包括:参数及其类型。 返回值和类型。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值