1、Python有兩種提示符(>>>)和次提示符(…)。主提示符是解釋器告訴你它在等待你輸入下一個語句,次提示符告訴你解釋器正在等待你輸入當前語句的其他部分。
2、Python有兩種主要的方式來完成你的要求:語句和表達式(函數、算術表達式等)。語句使用關鍵字來組成命令,類似告訴解釋器一個命令。語句可以有輸出,也可以沒有輸出。經典的編程實例,Hello World。
>>> print 'Hello World!'
Hello World!
3、把一個字符串賦值給變量myString,先用print來顯示變量的內容,之后用變量名稱來顯示。
>>> myString = 'Hello World!'
>>> print myString
Hello World!
>>> myString
'Hello World!'
在僅使用變量名時,輸出的字符串是用單引號括起來的。這是為了讓非字符串對象也能以字符串的方式顯示。即它顯示的是該對象的字符串表示,而不僅僅是字符串本身。Python用print打印變量,實質為調用str()函數顯示對象值,直接輸入變量是調用對象的repr()顯示對象。
4、下划線(_)在解釋器中表示最后一個表達式的值。
>>> _
'Hello World!'
5、print語句與字符串格式操作符(%)結合,實現字符串替換功能。
>>> print "%s is number %s !" % ("python",1)
python is number 1 !
%s:字符串,%d:整數 %f:浮點數。
6、python 支持輸出重定向到文件,符號>>用來重定向輸出。
import sys
print >>sys.stderr ,'Fatal Error:invalid input'
下面這個例子將輸出重定向到日志文件mylog.txt
logfile= open('mylog.txt','a')
print >>logfile,'Fatal Error'
logfile.close()
7、使用raw_input()內建函數可以得到用戶的輸入數據。
>>> num = raw_input("input you number:")
input you number:1024
>>> print 'Doubling you num: %d' % (int(num) *2)
Doubling you num: 2048
int()將數值字符串轉換為整型值,
內建函數help()可以得到生疏函數的幫助。如help(raw_input)
8、Python使用#符號表示注釋。
'''與'''文檔注釋,可以在運行時訪問,可以自動生成文檔。
9、+、-、*、/、%都是傳統標准操作符的用法。
//用作浮點除法,**表示乘方。優先級跟數學運算一樣。
<、<=、>、>=、==、!=、<>也都是標准比較操作符。<>是不等操作符。
Python提供了邏輯操作符:and or not
Python中支持的特殊用法:
>>> 3<4<5
True
與下面的寫法等效,優雅的Python~~
>>> 3<4 and 4<5
True
10、Python中變量名是一些字母或下划線開頭的標識符,其它字符可以是數字、字母或下划線。Python大小寫敏感。Python是動態類型語言,也就是說不需要預先聲明變量的類型。變量的類型和值在賦值的那一刻被初始化。Python支持復合賦值,不支持自增或自減。
11、Python支持五種基本數字類型,其中有三種是整型。
有符號整型、長整型、布爾值、浮點值、復數。
Complex(復數)6.23+1.5j
第六種數字類型,即decimal,用於十進制浮點型。需要導入decimal模塊。
12、Python中字符串被定義為引號之間的字符集合。使用索引操作符[]或者切片操作符[:]可以得到子字符串。索引規則:第一個字符的索引是0,最后一個索引是-1。(*)用於字符串重復。
>>> pystr = 'Python'
>>> pystr[0]
'P'
>>> pystr[2:5]
'tho'
>>> pystr[:2]
'Py'
>>> pystr[3:]
'hon'
>>> '-'*20
'--------------------'
13、列表元素用[]包裹,元素的個數及元素的值可以改變,元組元素用()包裹,不可以更改。元組可以看成只讀的列表,切片運算可以得到子集。
>>> aList = [1,2,3,4]
>>> aList
[1, 2, 3, 4]
>>> aList[2:]
[3, 4]
14、字典是Python中的映射數據類型,由鍵值對構成。用大括號{}包裹。
>>> adict={'host':'earth'}
>>> adict['port']=80
>>> adict
{'host': 'earth', 'port': 80}
>>> for key in adict:
print key,adict[key]
host earth
port 80
15、標准的if條件語句的語法如下。Python使用縮進表示代碼塊。
if expression:
if_suite
else:
else_suite
Python還支持elif(else-if)語句。
16、while語句
while expression:
while_siote
17、Python中的for循環類似於shell里的foreach迭代。
>>> for item in['e-mail', 'net-surfing', 'homework', 'chat']:
print item
net-surfing
homework
chat
print語句最后添加一個逗號(,),就可以使其不自動換行。
>>> for eachNum in [0,1,2]:
print eachNum,
0 1 2
>>> for eachNum in range(3):
print eachNum,
0 1 2
>>> foo ='abc'
>>> for c in foo:
print c,
a b c
>>> foo ='abc'
>>> for i,ch in enumerate(foo):
print ch,'(%d)' %i,
a (0) b (1) c (2)
18、列表解析
>>> sd= [x**2 for x in range(4) if not x%2]
>>> print sd
[0, 4]
19、訪問文件
handle = open(file_name, access_mode='r')
access_mode: r,w,a,+,b:讀,寫,添加,讀寫,二進制訪問。
filename = raw_input(‘Enter file name: ’)
fobj = open(filename, ‘r’)
for eachLine in fobj:
print eachLine,
fobj.close()
file()函數等同於open(),它是一個工廠函數。
20、錯誤和異常try…except…
try:
filename = raw_input('fileName:')
fobj = open(filename,'r')
for eachline in fobj:
print eacheline,
fbj.close()
except IOError,e:
print 'file open Error:',e
21、Python函數調用是通過引用進行的。這意味着函數對參數的改變會影響到原始對象。不過事實上只有可變對象會受此影響,對不可變對象來說,它的行為類似按值調用。沒有返回值的函數,自動返回None對象。
默認函數,如果不傳值,用默認值,如果傳值,用此值。
def foo(debug = True):
if debug:
print ‘in debug mode’
print ‘done’
22、Python類使用class關鍵字定義。可以選擇一個基類,如果沒有合適的基類,則用object作為基類。
class FooClass(object):
versiont ='0.1'
def __init__(self, nm=’John’):
self.name = nm
def showname(self):
print ‘My name is’, self.__class__.__name__
__init__()類似於構造函數,但並不創建實例,僅僅是對象創建后執行的第一個方法。如果沒有自己定義,那么系統會自己定義一個__init__()函數。self是類自身實例的引用。類似於其他語言中的this。
創建類實例:
foo1 = FooClass()
23、導入模塊
import module_name
module.function()
module.variable
>>> import sys
>>> sys.stdout.write('Hello World!')
Hello World!
>>> sys.platform
'win32'
>>> sys.version
'2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]'
write()函數不會自動添加換行符。
24、常用實用函數
dir([obj]) 顯示對象的屬性,如果沒有提供參數則顯示全局變量。2012/3/8
help([obj]) 美觀的形式顯示對象的文檔字符串,沒有提供參數,則進入交互模式
int(obj) 轉為整數
len(obj)返回對象長度
open(fn,mod)以mode形式打開文件
range([start,]stop[,step]) 返回整數列表,以start開始,以stop-1結束,以step為步長。默認start為0,step為1
raw_input(str):等等輸入,str為提示符
str(obj):將對象轉換成字符串
type(obj):返回對象類型,返回值也是個對象