Differences between revisions 48 and 54 (spanning 6 versions)
Revision 48 as of 2007-07-14 04:28:01
Size: 4286
Editor: XiaoQi
Comment:
Revision 54 as of 2009-12-25 07:13:59
Size: 4284
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers off
Line 2: Line 3:
[[TableOfContents]] <<TableOfContents>>
Line 4: Line 5:
== 概览 == == 2.1 概览 ==
Line 6: Line 7:
== 函数声明 == == 2.2 函数声明 ==
Line 8: Line 9:
=== Python 和其他编程语言数据类型的比较 === === 2.2.1 Python 和其他编程语言数据类型的比较 ===
Line 10: Line 11:
 1. `Para 3`:''A language in which types '''are fixed''' at compile time''[[BR]]
 一种在编译期间数据类型'''固定'''的语言[[BR]]
 (!) 明显,原文的被动式在这里应该是表示单纯的被动动作而非状态[[BR]]
 1. `Para 3`:''A language in which types '''are fixed''' at compile time''<<BR>>
 一种在编译期间数据类型'''固定'''的语言<<BR>>
 (!) 明显,原文的被动式在这里应该是表示单纯的被动动作而非状态<<BR>>
Line 14: Line 15:
 1. `Para 3`:''Most statically typed languages enforce this by requiring you to declare all variables with their datatypes before using them.''[[BR]]
 大多数静态类型语言是通过要求在使用'''所有'''变量之前声明'''它们的'''数据类型来保证这一点的。[[BR]]
 (!) 很有意思的是,原来的英文读起来很正常,但如实翻译成中文后明显有了逻辑问题。鉴于中英文表达习惯不同,“所有”改为“任一”。相应地,“它们的”改为“其”。[[BR]]
 1. `Para 3`:''Most statically typed languages enforce this by requiring you to declare all variables with their datatypes before using them.''<<BR>>
 大多数静态类型语言是通过要求在使用'''所有'''变量之前声明'''它们的'''数据类型来保证这一点的。<<BR>>
 (!) 很有意思的是,原来的英文读起来很正常,但如实翻译成中文后明显有了逻辑问题。鉴于中英文表达习惯不同,“所有”改为“任一”。相应地,“它们的”改为“其”。<<BR>>
Line 18: Line 19:
 1. `Para -1`:因为只要一个变量'''具有'''一个数据类型[[BR]]
 (!) 此处采用更加动态的表达方式似乎更好[[BR]]
 (./) 因为只要一个变量'''获得'''一个数据类型
== 文档化函数 ==
 1. `Para -1`:因为只要一个变量'''具有'''一个数据类型<<BR>>
 (!) 此处采用更加动态的表达方式似乎更好<<BR>>
 (./) 因为只要一个变量'''获得'''一个数据类型
== 2.3 文档化函数 ==
Line 25: Line 26:
== 万物皆对象 == == 2.4 万物皆对象 ==
Line 27: Line 28:
 1. `例2.3, (1)`:''...a module -- a chunk of code that you can use interactively, or from a larger Python program.''[[BR]]
 模块是指……或者'''来自'''一个大规模的 Python 程序[[BR]]
 (!) 此处原译太死,不符合中文习惯,语法上也说不过去[[BR]]
 1. `例2.3, (1)`:''...a module -- a chunk of code that you can use interactively, or from a larger Python program.''<<BR>>
 模块是指……或者'''来自'''一个大规模的 Python 程序<<BR>>
 (!) 此处原译太死,不符合中文习惯,语法上也说不过去<<BR>>
Line 31: Line 32:
=== 模块导入的搜索路径 ===
 1. 它会按'''所有'''定义在 sys.path 中的目录进行搜索[[BR]]
=== 2.4.1 模块导入的搜索路径 ===
 1. 它会按'''所有'''定义在 sys.path 中的目录进行搜索<<BR>>
Line 35: Line 36:
 1. `例2.4, (3)`:'''有一些,像 sys 模块''',是……[[BR]]  1. `例2.4, (3)`:'''有一些,像 sys 模块''',是……<<BR>>
Line 37: Line 38:
== 代码缩进 ==
 1. `Para 1`:'''没有花括号,用于标函数的开始和结束'''[[BR]]
 (!) 没必要搭建大的语法架子而不往里面填充东西,改为相对简单的语法结构[[BR]]
 (./) 没有标明函数的开始和结束的花括号
== 2.5 代码缩进 ==
 1. `Para 1`:没有'''花括号,用于标函数的开始和结束'''<<BR>>
 (!) 改为相对简单的语法结构<<BR>>
 (./) 没有'''标明函数的开始和结束的花括号'''
Line 43: Line 44:
 1. `例2.6, (2)`:包括字符串、整数和'''其它如字典和列表(我们将在下一章学习)等类型''' [[BR]]  1. `例2.6, (2)`:包括字符串、整数和'''其它如字典和列表(我们将在下一章学习)等类型''' <<BR>>
Line 45: Line 46:
 1. `例2.6, (2)`:'''通过使用以逗号分割的值列表把几个东西输出到一行上'''[[BR]]
 (!) 此处表达太罗嗦,且与下文重复了[[BR]]
 1. `例2.6, (2)`:'''通过使用以逗号分割的值列表把几个东西输出到一行上'''<<BR>>
 (!) 此处表达太罗嗦,且与下文重复了<<BR>>
Line 49: Line 50:
== 测试模块 == == 2.6 测试模块 ==
Line 53: Line 54:
== 反馈 ==
[[PageComment2]]
== 2.-1 反馈 ==

6-27<X2> odbchelper.xml 第一个 Python 程序

  1. Para 1: 大家都很清楚,其它书籍是如何…… {i} 还是让我们跳过这个部分吧

2.1 概览

pass

2.2 函数声明

  1. Para 3:Python 不需要提定 <!> 明显typo 返回值的数据类型 (./) 指定

2.2.1 Python 和其他编程语言数据类型的比较

  1. “xx类型定义语言”,这样的表达太罗嗦,按照一般的表达,改为“xx类型语言”
  2. Para 3A language in which types are fixed at compile time
    一种在编译期间数据类型固定的语言
    (!) 明显,原文的被动式在这里应该是表示单纯的被动动作而非状态
    (./) 一种在编译期间就确定数据类型的语言

  3. Para 3Most statically typed languages enforce this by requiring you to declare all variables with their datatypes before using them.
    大多数静态类型语言是通过要求在使用所有变量之前声明它们的数据类型来保证这一点的。
    (!) 很有意思的是,原来的英文读起来很正常,但如实翻译成中文后明显有了逻辑问题。鉴于中英文表达习惯不同,“所有”改为“任一”。相应地,“它们的”改为“其”。
    (./) 大多数静态类型语言是通过要求在使用任一变量之前声明数据类型来保证这一点的。

  4. Para -1:因为只要一个变量具有一个数据类型
    (!) 此处采用更加动态的表达方式似乎更好
    (./) 因为只要一个变量获得了一个数据类型

2.3 文档化函数

  1. Para 1:可以通过给出一个 doc string(文档字符串) {i} 文档化一个 Python 函数

  2. 例2.2下, Para 1, Line -1:但是您可能会发现它们经常定义 doc string 的情况

  3. (!) 怎么就没人嫌别扭呢 (./) 但是您可能会发现它们经常被用于定义 doc string。

2.4 万物皆对象

  1. Para 1如果 <!> 您没在意,我刚才的意思是…… (./) 可能

  2. 例2.3, (1)...a module -- a chunk of code that you can use interactively, or from a larger Python program.
    模块是指……或者来自一个大规模的 Python 程序
    (!) 此处原译太死,不符合中文习惯,语法上也说不过去
    (./) 或者一个大规模的 Python 程序的片段

2.4.1 模块导入的搜索路径

  1. 它会按所有定义在 sys.path 中的目录进行搜索
    (./) 它会按定义在 sys.path 中的目录逐个进行搜索

  2. 例2.4, (2):sys.path 是一个组成 <!> 当前搜索路径的目录列表。 (./) 指定

  3. 例2.4, (3)有一些,像 sys 模块,是……
    (./) 有一些模块(像 sys)

2.5 代码缩进

  1. Para 1:没有花括号,用于标函数的开始和结束
    (!) 改为相对简单的语法结构
    (./) 没有标明函数的开始和结束的花括号

  2. 例2.5, Para 1:代码块 {i} 通过它们的缩进来定义的

  3. 例2.5, Para 1, Line -1:不一定非要是 4 {i} ,只要一致就可以了。没有缩进的第一行则 {i} 被视为 在函数体之外。

  4. 例2.6, (2):包括字符串、整数和其它如字典和列表(我们将在下一章学习)等类型
    (./) 包括字符串、整数和其它类型,如字典和列表(我们将在下一章学习)

  5. 例2.6, (2)通过使用以逗号分割的值列表把几个东西输出到一行上
    (!) 此处表达太罗嗦,且与下文重复了
    (./) 只需用逗号隔开

  6. 例2.6, (3):如果 if 表达式计算为 true,{i} 紧跟着的 缩进块 {i} 被执行

2.6 测试模块

  1. Para 1:您可以使用这些属性方便地测试您所书写 <!> 的模块。 (./) 编写

  2. Para 2:有几 <!> 重要的观察结果 (./)

  3. Para 3:一个模块的 __name__ 的值要看 <!> 您如何应用模块 (./) 取决于

2.-1 反馈

DiveIntoPythonZh/2007-06-27 (last edited 2009-12-25 07:13:59 by localhost)