1、程序輸出,print語句
跟C語言中的printf函數很類似,當在代碼中使用print語句即可輸出想要看到的變量內容,如可以先把一個字符串復制給str,然后用print函數顯示變量內容,如下:
str = "hello python"
print str

Python的print語句,與字符串運算符(%)結合使用,可實現字符串替換功能,如:print "%s is number %d" % ("python",1),語句將輸出python is number 1
python中的重定向:1)以標准錯誤輸出:
import sysprint >> sys.stderr, 'Fatal error:invalid input!'2)輸出到日志文件:
logfile = open('D:\log.txt','a')
print >> logfile, 'Fatal error:invalid input!'logfile.close();
2、程序輸入,raw_input()函數
從用戶得到數據輸入的最容易的方法是使用raw_input()函數,它讀取標准輸入,並將讀取到的數據賦值給制定的變量,可以使用int()內建函數將用戶輸入的字符串轉換成整數,如下例子:
1)用戶輸入
username = raw_input('Enter your name:')print '%s, welcome' % (username)
2)使用內建函數int()轉換
num = raw_input('Enter a number:')print 'Doubling your number is: %d' % (int(num)*2)
注:在遇到陌生函數的時候使用函數help(函數名)來得到相應的幫助信息
3、注釋
和大部分腳本及Unix-Shell語言一樣,Python也是用#符號標識注釋,從#開始到一行結束內容均為注釋。
#one comment
有一種,叫文檔字符串特別注釋,可以在模塊、類或者函數的其實添加一個字符串,起到在線文檔的功能,這跟Java的文檔注釋類似。
def foo():
"this is a doc string"
return True
4、運算符
python中的標准算術運算符+ - * / // % ** (加、減、乘、除和取余是標准運算符,單斜杠作傳統除法,雙斜杠用作浮點除法,對結果四舍五入),傳統除法是指兩個操作數都是整數的話,執行地板除(取比商小的最大整數)。雙星號(**)表示乘方運算符。
python中的標准比較運算符< <= > >= == != <>表示小於、小於等於、大於、大於等於、不等、不等(Pascal風格,漸漸淘汰),運算結果返回布爾值(True/False)
python中提供了邏輯運算符 and or not 將任意表達式連接在一起,並得到一個布爾值。
5、變量和賦值
python中的變量命名規則和大多數高級語言一樣,變量僅僅是一些字符開頭的標識符即,字母或者下划線開頭,其他的字符可以是字母,數字或者下划線,且大小寫敏感。
python是動態類型語言,也就是說不需要預先聲明變量類型,變量的類型和值在賦值那一刻被初始化,賦值通過等號來執行。注:python不支持C中的自增1或者自減1運算符
6、數字
python支持五種基本數字類型,其中三種是整數類型。
int (有符號整數)
long (長整數)
bool (布爾值)
float (浮點值)
complex (復數)
注:其實還有第六種數字類型:decimal,用於十進制浮點數,不是內建類型,需要導入decimal模塊才可以使用這種類型
7、字符串
python中字符串被定義為引號之間的字符集合,支持使用成對單引號或雙引號,三引號(三個連續的單引號或者雙引號)可以包含特殊字符。使用 索引運算符([ ])和切片運算符([ : ])可以得到子字符串。字符串有其特殊的索引規則:第一個字符的索引是0,最后一個字符索引是-1
加號(+)用於字符串連接運算,星號(*)則用於字符串重復。
8、列表和元組
可以講列表和元組當成普通的數組,他能保存任意類型的python對象 ,和數組一樣,通過從0開始的數字索引訪問元素,但是列表和元組可以存儲不同類型的對象。
列表和元組有基礎重要的區別,列表元素用中括號([ ])包裹,元素個數及元素的值可以改變。元組元素用小括號(())包裹,不可以更改(盡管他們的內容可以)。元組可以看成是只讀列表。通過切片運算符([ ]和[ : ])可以得到子集,這一點與字符串的使用方法一樣。測試如下:

9、字典
字典是python中的映射數據類型,工作原理類似Perl中的關聯數組或者哈希表,由鍵值對(key-value)構成,幾乎所有類型的python對象都可以作為鍵,一般以數字或者字符串最為常用。值可以是任意類型的python對象,字典元素用大括號({ })包裹。

10、代碼塊及縮進對齊
代碼塊通過縮進對齊表達代碼邏輯而不是使用大括號,因為沒有了額外的字符,程序的可讀性更高,而且縮進完全清楚地表達一個語句屬於哪一個代碼塊。當然,代碼塊也可以只有一個語句組成。
python的兩大特性,一是簡潔,而是可讀性好。
11、if語句
標准的if條件語句的語法如下:
if expression:
if_suite
如果表達式的值非0或者為布爾值True,則代碼組if_suite被執行;否則去執行下一條語句。代碼組是一個python術語,它由一條或多條語句組成,表示一個子代碼塊。Python與其它語言不同,條件表達式不需要括號括起來。
if x < .0:print '"x" must be at least 0!'
python當然也支持else語句,具體語法:
if expression :
if_suite
else:
else_suite
同樣,還支持else-if,使用elif,具體語法:
if expression1:
if_suite
elif expression2:
elif_suite
else
else_suite
12、while循環
標准的while循環條件與if一樣,要求使用縮進來分割每個子代碼塊。如下格式
while expression:
while_suite
while語句會被連續不斷地循環執行,直到表達式的值變成0或者False;接着python會執行下一句代碼。

13、for循環和range()內建函數
python中的for循環與傳統的for循環(計數器循環)不太一樣,更像Shell腳本里的foreach迭代。python中的for接受可迭代對象(如:序列或者迭代器)作為參數,每次迭代其中一個元素。
print語句默認會給每一行添加一個換行符。只要在print語句的最后添加一個逗號(,)可以改變這個行為,如上例。注:,沒有任何參數的print語句,用來輸出一個換行符。
python提供了一個range()內建函數來生成列表,接受一個數值范圍,生成一個列表。


range()函數經常和len()函數一起用於字符串索引,在這里我們要顯示每一個元素及其索引值。如下所示:

這些循環有一個約束,就是要么循環索引要么循環元素,但python2.3新增了enumerate()函數,解決了這個缺陷:
