Python核心编程(第十四章)--执行环境

这篇博客深入探讨了Python的执行环境,包括内建函数(如input())、用户定义的函数、lambda表达式、方法(特别是__call__())以及代码对象。内容涵盖编译、eval()、exec()的使用,还讨论了模块导入机制和程序执行控制,如sys.exit()。此外,提到了os模块在执行外部程序中的作用。
摘要由CSDN通过智能技术生成
Python有三种不同类型函数对象,第一种是内建函数:
内建函数是用C/C++写的,编译后放到Python解释器中

2.用户定义的函数:

3.lambda表达式:
同为函数,但不需要def语句创建,而是lambda关键字:
需要通过函数式编程接口,或者把引用赋值给一个变量
方法:
内建方法:只有内建类型才有內建方法

类:
python给类提供了一个__call__()的特别方法,没有__call__()方法是不能调用实例的
代码对象:
一个python模块的代码对象,是构成该模块的全部代码。

exec用来执行代码对象,compile用来生成代码对象
callable()确定一个对象是否可以通过函数操作符()来调用
compile()三个参数必须有,第一个代表要编译的Python代码,第二个字符串(但经常被置为空串),最后一个参数是个字符串,用来表明 代码对象的类型

eval():
eval(expression,globals=None,locals=None)
参数 expression 是一个表达式字符串,或者表示编译出来代码对象的名称;参数 globals 是全局命名空间,可以指定执行表达式时的全局作用域的范围,比如指定某些模块可以使用。如果本参数缺省,就使用当前调用这个函数的当前全局命名空间;参数 locals 是局部作用域命名空间,是用来指定执行表达式时访问的局部命名空间。
exec:
exec obj
被执行的对象可以只是原始的字符串,比如单一语句或语句组
内建函数input()等价于eval(raw_input()),但 raw_input()总是以字符串的形式返回,而input()返回的是一个Python对象
导入:第一次导入模块会执行模块最高级代码

跟着一个if语句,检测__name__来确定是否要调用脚本
execfile():
python执行其他程序:

os.system();
os.popen():是文件对象和system()函数的结合,可以建立一个指向程序的单向连接
 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出
结束执行:
sys.exit()立即退出程序(System Exit是唯一不看作错误的异常)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值