1.?Python 的主提示符( >>> )和次提示符( ... ),主提示符是解釋器告訴你它在等待你輸入下一
個語句,次提示符告訴你解釋器正在等待你輸入當前語句的其它部分。
2.?語句和表達式(函數、算術表達式等)
??語句使用關鍵字來組成命令,類似告訴解釋器一個命令。你告訴Python 做什么,它就為你做什
么,語句可以有輸出,也可以沒有輸出。
??表達式沒有關鍵字。它們可以是使用數學運算符構成的算術表達式,也可以是使用括號調用的
函數。它們可以接受用戶輸入,也可以不接受,有些有輸出,有些則沒有。
簡單說,語句就是命令(必須使用關鍵字),其它就是表達式(而表達式算術表達式或函數(指整個函數對
象))。
3.?符號 >> 用來重定向輸出
print 語句也是支持從定向的。可以將print語句輸出流重定向到標志流,或者是文件上。
raw_input() 接受用戶的輸入
?
? 4.? python語法規則
1)、Python 有兩種除法運算符,單斜杠用作傳統除法,
雙斜杠用作浮點除法(對結果進行四舍五入)。傳統除法是指如果兩個操作數都是整數的話,它將執行
是地板除(取比商小的最大整數),而浮點除法是真正的除法,不管操作數是什么類型,浮點除法總是執
行真正的除法。
還有一個乘方運算符, 雙星號(**)。
2)、Python 也提供了邏輯運算符:
and ?or ?not
?? 3)、Python 不支持C 語言中的自增1 和自減1 運算。
4)、Python 支持五種基本數字類型,其中有三種是整數類型。
??? * int (有符號整數)
?? ? * long (長整數)
??? * bool (布爾值)
???? * float (浮點值)
* complex (復數)
事實上,Python 長整數僅受限于用戶計算機的虛擬內存總數。類似于Java中的BigInteger
第六種數字類型, decimal, 用于十進制浮點數。類似于Java中的Decimal。
?
5.?字符串
?加號( + )用于字符串連接運算,星號( * )則用于字符串重復。
字符串有其特有的索引規則:第一個字符的索引是 0,最后一個字符的索引是 – 1。
6.?列表和元組
?列表和元組有幾處重要的區別:
????? 列表元素用中括號( [ ])包裹,元素的個數及元素的值可以改變。元組元素用小括號(())
包裹,也可以不加括號,不可以更改(盡管他們的內容可以)。元組可以看成是只讀的列表。
7.?字典
字典是Python 中的映射數據類型,類似于Java中的Map。
幾乎所有類型的Python 對象都可以用作鍵,不過一般還是以數字或者字符串最為常用。
值可以是任意類型的Python 對象,字典元素用大括號({ })包裹。
8.?代碼塊及縮進對齊
代碼塊通過縮進對齊表達代碼邏輯而不是使用大括號,因為沒有了額外的字符,程序的可讀性更高。而
且縮進完全能夠清楚地表達一個語句屬于哪個代碼塊。當然,代碼塊也可以只有一個語句組成。
?
9.?條件及循環語句
1)、if語句
if expression:
if_suite
如果表達式的值非0 或者為布爾值True, 則代碼組 if_suite 被執行; 否則就去執行下一條語句。 代碼
組是一個Python 術語, 它由一條或多條語句組成,表示一個子代碼塊。
Python 還支持 elif (意指 “else-if ”)語句。
?新的條件式x = true_value if condition else false_value
如果要表示明確可以加上圓括號。
?? 2)、while語句(略)
??
?? 3)、for語句和range()內建函數
Python 中的for 循環與傳統的for 循環(計數器循環)不太一樣, 它更象shell 腳本里的 foreach 迭
代。
要使用的數值范圍可能會經常變化,Python 提供了一個range([start]stop[step])內建函數來生成這種
列表。它正好能滿足我們的需要,接受一個數值范圍,生成一個列表。通過使用range()函數就可以使
python中的for循環和傳統的計數循環一樣的效果。
enumerate(list) 該函數同時循環遍歷索引和元素。list: 被操作的列表或字符串。他將序列加上索引
值變成元組tuple對。
10.?核心筆記:什么是屬性?
屬性是與數據有關的項目, 屬性可以是簡單的數據值, 也可以是可執行對象, 比如函數和方法。哪些
對象擁有屬性呢? 很多。 類, 模塊, 文件還有復數等等對象都擁有屬性。我如何訪問對象屬性? 使
用句點屬性標識法。 也就是說在對象名和屬性名之間加一個句點: object.attribute。
?
11.?類和對象
所有名字開始和結束都有兩個下劃線的方法都是特殊方法。
當一個類實例被創建時, __init__() 方法會自動執行, 在類實例創建完畢后執行, 類似構建函數。
__init__() 可以被當成構建函數, 不過不象其它語言中的構建函數, 它并不創建實例--它僅僅是你的
對象創建后執行的第一個方法。它的目的是執行一些該對象的必要的初始化工作。通過創建自己的
__init__() 方法, 你可以覆蓋默認的 __init__()方法(默認的方法什么也不做),從而能夠修飾剛剛
創建的對象。
創建一個類實例就像調用一個函數, 它們確實擁有一樣的語法。它們都是可調用對象。
self.__class__.__name__ 變量的值。對一個實例來說, 這個變量表示實例化它的類的名字。
(self.__class__引用實際的類,類似于Java中的Class對象)。
12.?模塊
模塊是一種組織形式, 它將彼此有關系的Python 代碼組織到一個個獨立文件當中。模塊可以包含可執
行代碼, 函數和類或者這些東西的組合。
當你創建了一個 Python 源文件,模塊的名字就是不帶 .py 后綴的文件名,你可以從另一個模塊中使用
import 語句導入這個模塊來使用。
不同于print 語句, write()不會自動在字符串后面添加換行符號。
13.? 一些實用的方法
dir([obj])??顯示對象的屬性,如果沒有提供該參數,則顯示全局變量的名字
help([obj])?以一種整齊美觀的形式,顯示對象的文本字符串,如果沒有提供任何參數,則會進入
互助實幫助。
int(obj)?將一個對象轉換為整數、
len(obj)?返回對象的長度
open(fn, mode)???以mode(‘r’ = 讀, ‘w’ = 寫)方式打開一個文件名為fn的文件
range([strart, ] stop [,step])?返回一個整數列表。起始值為start,結束值為stop-1,start默認
值為0,step默認值為1。
raw_input(str)???等待用戶輸入一個字符串,可以提供一個參數str用作提示信息。
str(obj)?將一個對象轉換成字符串
type(obj)?返回對象的類型(返回值本身是一個type對象)
?