探秘豐富多彩的Python語言
Python語言是一種動態語言,在程序運行過程中,同一變量名可以(在程序運行的不同階段)代表不同形式的值(整型,浮點,列表,元組...)。事實上,程序中使用的變量名只是各種數據及對象的引用。這與C語言不同,C語言中變量名代表的是用來存放結果的一個固定位置及長度的內存片段。
從例子Listing 1.1中的變量principal可以看出Python語言的動態特性.最初,它被賦值為一個整數,但是稍后程序將它再次賦值:這個語句計算表達式的值,然后將計算結果賦給 principal 變量做為它的新值。當賦值動作發生時,principal最初綁定的值1000被丟棄。
賦值結束,不但 principal 綁定的值發生了變化,它的類型也隨著賦值動作發生了相應的變化。在這個例子中,由于rate是一個浮點數,所以在賦值完成后,principal也變成一個浮點數。Python中每個語句以換行結束,當然你也可以在一行中寫多個語句,這時語句之間必須使用用分號分隔,就象下面這樣。.
while 語句首先檢查在它后邊的循環條件,若條件表達式為真,它就執行冒號后面的語句塊,然后再次測試循環條件,直至為假。冒號后面的縮近語句塊為循環體。注意,Python語言使用縮進塊來表示程序邏輯(其它大多數語言使用大括號等)。在Listing 1.1中while語句后的三條語句為循環體,在每次循環中均執行。#t#
Python并未指定縮進的空白(空格和制表符)數目,唯一的要求是同一層次的語句必須有相同的縮進空白。(注意,要么都是空格,要是么都制表符,千萬別混用)Listing 1.1中的程序美中不足的就是輸出不是很好看,為了讓它美觀一點,可以用格式字符串將計算結果只保留小數點后兩位。
open()函數返回一個新文件對象(file object)。通過調用此對象的不同方法可以對文件進行不同的操作。readline()方法讀取文件的一行(包括換行符'\n')。如果讀到文件末尾,就返回一個空字符串。要將程序的輸出內容由屏幕重定向到文件中,可以使用'>>'運算符,如下例:
- >>> import string
- >>> dir(string)
- ['_ _builtins_ _', '_ _doc_ _', '_ _file_ _', '_ _name_ _', '_idmap',
- '_idmapL', '_lower', '_swapcase', '_upper', 'atof', 'atof_error',
- 'atoi', 'atoi_error', 'atol', 'atol_error', 'capitalize',
- 'capwords', 'center', 'count', 'digits', 'expandtabs', 'find',
- ...
表達式 [float(s) for s in svalues] 通過循環列表svalues中的所有字符串并對每個元素運行函數float()來建立一個新的列表。這種特殊的建立列表的方法叫做列表包含( list comprehension)。 在列表中所有的字符串都轉換為浮點數之后,內建函數min()和max()計算出列表中的***值及最小值。