python 编译函数_如何将一系列Python代码编译成可以调用其函数的模块?

在python2中,您需要神奇的compiler package:>>> import compiler

>>> mod = compiler.parseFile("doublelib.py")

>>> mod

Module('This is an example module.\n\nThis is the docstring.\n',

Stmt([Function(None, 'double', ['x'], [], 0,

'Return twice the argument',

Stmt([Return(Mul((Name('x'), Const(2))))]))]))

>>> from compiler.ast import *

>>> Module('This is an example module.\n\nThis is the docstring.\n',

... Stmt([Function(None, 'double', ['x'], [], 0,

... 'Return twice the argument',

... Stmt([Return(Mul((Name('x'), Const(2))))]))]))

Module('This is an example module.\n\nThis is the docstring.\n',

Stmt([Function(None, 'double', ['x'], [], 0,

'Return twice the argument',

Stmt([Return(Mul((Name('x'), Const(2))))]))]))

>>> mod.doc

'This is an example module.\n\nThis is the docstring.\n'

>>> for node in mod.node.nodes:

... print node

...

Function(None, 'double', ['x'], [], 0, 'Return twice the argument',

Stmt([Return(Mul((Name('x'), Const(2))))]))

>>> func = mod.node.nodes[0]

>>> func.code

Stmt([Return(Mul((Name('x'), Const(2))))])

在python3中,它是built right in。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值