Python日记

血来潮学习 Python!本文以 Windows 7 + Python 2.7.1 为蓝本。

     Python 是一种解释执行的语言(更恰当的,应该称之为脚本),需要专门的解释器解释运行。支持模块化编程,支持 GUI 界面。可以很简单、有效地 开发用于文件 I/O、socket、GUI 等等的程序。并且 Python 具有良好的扩展性,可以修改解释器,使它支持用户自定义的内置模块。如果你需要计 算机自动地处理一些底层的任务,而自己专注于高层功能的开发,Python is just the recipe for you!

     Python 程序的运行必须通过 Python 解释器。解释器通过命令行调用,有三种调用方式:

  1. python py 文件 [参数 参数 …] 这是最常用的一种方式,自己先编写好一个 python 脚本文件,然后用解释器解释运行它
  2. python -c 语句 直接在命令行中写入需要执行的语句,语句中如有空格,则语句应加双引号,适用于比较简短的测试情形
  3. python 不加任何参数,在解释器运行过程中交互式地编写脚本

     下面正式 Python 语言的学习!本人初学,如有疏漏错误之处还请高手指教!

一、常量、变量

1.1 常量

     Python 中的常量有三种:数字(Number)、字符串(String),以及 Unicode 字符串(Unicode String)。

     数字根据书写形式的不同,可分为整型、浮点型和复数型。它们之间可以进行混合运算,并自动进行类型的转换 (int->float->complex)。同时,用户也可以强制类型转换函数在整型、长整型和浮点型之间强制转换。对于复数,没有强制类 型转换的函数。不过,可以用 z.real 和 z.imag 的形式取 z 的实部和虚部。复数常量书写的形式是 a+bJ 或 a+bj。

     字符串是一串用单引号或双引号括起来的串。两者完全等价。但是,在单引号括起来的字符串中使用单引号,需要用转义字符“\”;而在双引号括起来的字符串中使用双引号,则需要转义。对于大段的字符串,可以用三个连续的      ''' 或      """ 做为开始和结束的标记。这个也常常用来做注释。

     Unicode 字符串类似于普通的字符串,仅仅是在存储时,每个字符占用两个字节的空间。在常量的表示上,需要在原有的字符串常量前加上一个“u”,如 u'Hello' 就是一个 Unicode 字符串。在 Unicode 字符串中,可以使用 "\uNNNN" 来对任意 Unicode 字符进行转义。Unicode 字符串和普通字 符串之间可以使用 unicode()和 str() 函数进行相互转换。对于存在无法用 0-127 之间的 ASCII 码表示的 Unicode 串,需要用 encoder() 函数,将其编码为字符串。

     字符串和 Unicode 的长度可以用 len() 这个内置函数来获得。如果要获取字符串或 Unicode 字符串中某个字符,可以用取下标运算:

1 'Hello World!'[1] #值为 'e'
2 'Hello World!'[6:11] #值为 'World'
3 'Hello World!'[3:] #值为 'lo World!'
4 'Hello World!'[-3:] #值为 'ld!'
5 'Hello World!'[:3] #值为 'Hel'
6 'Hello World!'[:-3] #值为 'Hello Wor'
7 'Hello World!'[:] #值为 'Hello World!'
8 u'你好'[1] #值为 '\xe3'(“你”的第二个字节)


     鉴于这里的下标运算与一般的 C 语言有较大区别,需要做一些解释。A[m:n] 中的 m、n 分别表示在字符串 A 中所要取的第一个字符和停止取的第一个字符。当 m、n 是非负数时,这个下标从字符串头部开始计算;当 m、n 为正数时,下标从尾部开始算。

1.2 变量

     在 Python 中,变量的使用不需要预先定义。只要对一个标识符进行了赋值,就等于定义了这个变量。使用 del 命令可以删除一个变量。例如

1 a=1
2 b='Hello'
3 c=u'Python 日记'
4 del a, b, c

     在交互模式下,有一个特殊的变量:“_”,它仅仅是一个下划线,表示了上一个命令回显的结果。

     变量除了可以是上述的数字、字符串、Unicode 字符串之外,还有一些更高层的数据结构。其中最简单是列表(List)。列表类似与 C 语言中的结构体,它的每一个成员都可以是不同的数据类型。成员之间用逗号隔开,整个列表用中括号括起来。例如

1 a = [1, 'test']
2 b = [12, ['apple', u"pear"]]

     对列表中成员的引用,可以使用如下的格式:

1 a[0] #取 a 的第一个成员
2 b[1][0] #取 a 的第二个成员的第一个成员
3 b[0:1] #取 b 的下标大于等于 0,小于 1 的所有元素组成的列表

     列表的长度也可以用 len() 函数来获得。