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