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