有关Python 解释器说明介绍

开发 后端
在开始学些Python 解释器之前非常有必要再次强调:下面介绍的解释器是一个源代码解释器,是一种面向语言的一种开发语言。

Python 解释器包括两个主要的子系统:一个是表达式解析器,负责处理数字表达式;另一个是解释器,负责程序的实际执行,不是只能解析孤立的表达式。

用上一节介绍的方法就可以实现原始的用户输入/输出.下边的函数从标准输入读取一行文本,然后返回这行文本: 内建函数raw_input(prompt)也可以从stdin中读取并保存内容: 最后要说的是。

键盘中断(通常是Ctrl+C)会引发KeyboardInterrupt异常,该异常可以被异常处理语句捕获并处理。只要需要,sys.stdout、 sys.stdin及sys.stderr的值均可以使用其它文件对象进行替换。这样 print 语句和 raw_input 函数都会使用新值。

在解释器启动时,sys.stdout, sys.stdin及sys.stderr可以分别使用sys.stdout, sys.stdin, 和 sys.stderr这三个名字来访问。注意某些场合 sys.stdout, sys.stdin及sys.stderr的默认值会被改变(通常程序运行在一个集成环境时).例如,当在IDLE下运行Python代码时。

sys.stdin会被开发环境提供的一个行为类似文件对象的对象代替.在这样的场合,低层方法如read(),seek()可能会失效。在系统内部,Unicode 字符串被表示为一个16位整数序列,8-bit 字符串则是一个字节序列, 绝大多数字符串操作被扩展为能够处理更宽范围的字符值。

只要 Unicode 字符串被转换为字节流,就必然会产生一系列问题(需要解决)。首先,要考虑现有软件的兼容性, 对那些仅支持 ASCII或其它 8-bit的软件来说,将 Unicode字符串转化为 ASCII字符串是较好的方法。

其次, 16-bit 字符占用两个字节,字节顺序问题虽然比较无聊但必须考虑。对一个Unicode字符 U+HHLL 来说, 小端法编码方案将低位字节放在前面。即 LL HH;大端法编码方案则将高位字节放在前面,即 HH LL. 就因为这么点问题, 不指定编码方案,你就无法将原始 Unicode 数据写入文件.

要解决这些问题, 只能根据特定的编码规则将 Unicode 字符串进行客观表示。这些规则定义了如何将 Unicode 字符表示为字节序列。在第四章, 针对 unicode()及 s.encode() 首先介绍了编码规则。举例来说:

  1. a = u"M\u00fcller" 
  2.  
  3. b = "Hello World" 
  4.  
  5. c = a.encode('utf-8')     # Convert a to a UTF-8 string   
  6.  
  7. d = unicode(b)            # Convert b to a Unicode string  
  8. 复制代码 

【编辑推荐】

  1. 如何使Python嵌入C++应用程序?
  2. 深入探讨Ruby与Python语法比较
  3. Python学习资料介绍分享
  4. Python学习经验谈:版本、IDE选择及编码解 决方案
  5. 浅析Python的GIL和线程安全
责任编辑:chenqingxiang 来源: 博客园
相关推荐

2010-02-02 14:54:28

Python语法

2010-02-24 17:22:59

Python项目

2010-02-23 14:41:28

Python模块

2010-02-22 14:42:19

Python 控制语句

2010-02-26 11:20:53

Python应用

2010-02-01 16:32:49

Python脚本

2010-02-01 17:41:54

Python 解释器

2010-02-22 16:40:22

Python解释器

2009-12-24 15:34:44

ADO步骤

2009-12-25 17:11:40

ADO方法

2010-03-03 17:50:45

Android图形界面

2010-03-10 11:26:29

交换机配置

2010-02-02 13:05:58

Python代码

2010-02-03 13:27:17

Python 特性

2010-03-01 10:39:18

Python源代码

2010-03-10 16:32:17

光端交换机

2010-02-22 13:20:58

Python中文问题

2010-02-01 18:06:48

Python Edit

2010-02-22 16:16:14

Python语法

2010-02-02 13:28:46

Python变量
点赞
收藏

51CTO技术栈公众号