Size: 2831
Comment:
|
Size: 5407
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 59: | Line 59: |
== 变量和表达式 == 通过Listing 1.1所示的程序示例变量和表达式的用法 Listing 1.1 复利计算器(Simple Compound-Interest Calculation) {{{#!python principal = 1000 # Initial amount (本金) rate = 0.05 # Interest rate (利率) numyears = 5 # Number of years (期数,年) year = 1 while year <= numyears: principal = principal*(1+rate) print year, principal year += 1 }}} 程序输出: {{{ 1050.0 1102.5 1157.625 1215.50625 1276.2815625 }}} Python 是一种动态语言,在程序运行过程中,同一变量名可以(在程序运行的不同阶段)代表不同形式的值(整型,浮点,列表,元组...)。事实上,程序中使用的变量名只是各种数据及对象的标签(引用),用来在变量名和值之间建立联系(绑定)。这与C不同,C是一个变量名代表一个在内存中固定大小和位置的对象.从例子Listing 1.1中的变量principal可以看出Python的动态特性.最初,它被赋值为一个整数,但是稍后程序将它再次赋值: principal = principal*(1+rate) 这个表达式不仅改变了principal的值,也改变了它的类型.运行时,先完成等号后边的计算,然后给principal赋值.因为rate是一个浮点数,所以计算后,principal也被赋值为浮点数. Python中每行只有一个单独的语句,你也可以用分号来分开语句,就像下边这样: principal = 1000; rate = 0.05; numyears = 5; while 语句检查在它后边的条件表达式,如果表达式为真,就会执行重复执行一块语句,直到表达式为假.循环的主体部分用缩进来指示.在Listing 1.1中while语句后的三条语句每次循环中都执行.Python没有指定缩进的空白(空格和制表符)数目,但是同一层次的语句必须有相同的缩进. Listing 1.1中的程序有点不足就是输出不是很好看.为了让它更好,你可以用format string把数字的精确度定为小数点后两位. print "%3d %0.2f" % (year, principal) 这样,程序的输入就会变为: 1050.00 1102.50 1157.63 1215.51 1276.28 format string包含普通文本和格式化字符的序列(例如"%d", "%s", 和 "%f"),这些序列指定了特殊类型的数据(如整型,字符串,浮点数)的编排格式.'%3d'将一个整数在宽度为3个字符的栏中右对齐,'%0.2f'将一个浮点数的小数点后部分转换为2位.format strings的作用和C中的sprintf()基本相同.详细内容在Chapter 4, "Operators and Expressions."(第4章 操作和表达式) |
[:WeiZhong/2006-01-17:Python 精要参考(第二版)] Python Essential Reference, Second Edition 译文
原著:David M Beazley 出版商: New Riders Publishing
初译: Feather [email protected] 修正补充: WeiZhong [email protected] TableOfContents
第一章 了解Python
本章是Python的快速介绍,在这一节并不涉及python的特殊规则和细节,目标是通过几个示例快速了解Python语言的特点。本章简要介绍了变量,表达式,控制流,函数以及输入/输出的基本概念,并不涉及Python语言的高级特性。尽管如此,有经验的程序员还是能够通过阅读本章的材料创建高级程序。我们鼓励新手通过运行示例切身感受一下Python。
运行Python
Python 程序通过解释器执行。如果你的机器已经装好了python,简单的在命令行键入python即可运行python解释器。在解释器运行的时,会有一个命令提示符 >>>,在提示符后键入你的程序语句,键入的语句将会立即执行。在下边的例子中,我们在>>>提示符后边键入最常见的显示"Hello World"的命令:
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> print "Hello World" Hello World >>> 程序也可以像下面一样放置在一个文件中 # helloworld.py print "Hello World" Python源代码文件使用.py后缀.'#'表示注释(到行末结束) 执行文件helloworld.py % python helloworld.py Hello World %
在Windows 下,可能通过双击一个.py文件来执行python程序。windows会自动调用python解释程序,然后启动一个终端窗口(类DOS窗口)执行程序。在这种情况下,终端窗口会在程序执行完毕后立即关闭(经常是在你看到它的输出之前)。为避免这个问题,你可以使用python集成开发环境,例如IDLE或Pythonwin。另一个可行的方法是建立一个 bat文件,在文件写入这样一行语句,如 python -i helloworld.py。运行这个批处理,程序在执行完成后会自动进入python解释器。
在解释器中,也可以通过函数execfile()来运行一个保存在磁盘上的程序,如下例:
>>> execfile("helloworld.py") Hello World 在UNIX下,你可以在程序的首行写入 #! 魔法字符串 来自动调用python解释器执行你的脚本。 #!/usr/local/bin/python print "Hello World" 解释器会一直运行直到文件结束。如果在交互模式下,键入 EOF字符退出解释器。在UNIX下,EOF字符是Ctrl+ D;在Windows下,EOF字符是Ctrl+Z.也可以在程序中使用sys.exit()函数或者通过引发SystemExit异常来退出程序: >>> import sys >>> sys.exit() 或者 >>> raise SystemExit
== 变量和表达式 ==
通过Listing 1.1所示的程序示例变量和表达式的用法
Listing 1.1 复利计算器(Simple Compound-Interest Calculation)
程序输出:
1050.0 1102.5 1157.625 1215.50625 1276.2815625
Python 是一种动态语言,在程序运行过程中,同一变量名可以(在程序运行的不同阶段)代表不同形式的值(整型,浮点,列表,元组...)。事实上,程序中使用的变量名只是各种数据及对象的标签(引用),用来在变量名和值之间建立联系(绑定)。这与C不同,C是一个变量名代表一个在内存中固定大小和位置的对象.从例子Listing 1.1中的变量principal可以看出Python的动态特性.最初,它被赋值为一个整数,但是稍后程序将它再次赋值:
principal = principal*(1+rate)
这个表达式不仅改变了principal的值,也改变了它的类型.运行时,先完成等号后边的计算,然后给principal赋值.因为rate是一个浮点数,所以计算后,principal也被赋值为浮点数.
Python中每行只有一个单独的语句,你也可以用分号来分开语句,就像下边这样:
principal = 1000; rate = 0.05; numyears = 5;
while 语句检查在它后边的条件表达式,如果表达式为真,就会执行重复执行一块语句,直到表达式为假.循环的主体部分用缩进来指示.在Listing 1.1中while语句后的三条语句每次循环中都执行.Python没有指定缩进的空白(空格和制表符)数目,但是同一层次的语句必须有相同的缩进.
Listing 1.1中的程序有点不足就是输出不是很好看.为了让它更好,你可以用format string把数字的精确度定为小数点后两位.
print "%3d %0.2f" % (year, principal)
这样,程序的输入就会变为:
1050.00 1102.50 1157.63 1215.51 1276.28
format string包含普通文本和格式化字符的序列(例如"%d", "%s", 和 "%f"),这些序列指定了特殊类型的数据(如整型,字符串,浮点数)的编排格式.'%3d'将一个整数在宽度为3个字符的栏中右对齐,'%0.2f'将一个浮点数的小数点后部分转换为2位.format strings的作用和C中的sprintf()基本相同.详细内容在Chapter 4, "Operators and Expressions."(第4章 操作和表达式)