1、print語句調用str()函數顯示,互動式解譯器調用repr()函數來顯示對象
>>> s='python'>>> s'python' #repr(),顯示結果呈現單引號>>> print s #str().沒有單引號python>>> repr(s)"'python'">>> str(s)'python'
str()主要顯示給人看,repr()顯示個機器和畜生看。
print語句會預設給每一行加上分行符號,只要在print語句的最後添加一個逗號(,)就可讓結果排列在一行。
2、raw_input():
讀取標準輸入,並把結果給指定變數,如:name=raw_input('your name:')
3、一些語句
(1)、if、if .. else ..、if ..elif..else..
elif即‘else if ’,注意在Django中不存在 elif 模板標籤
(2)、while迴圈
迴圈控制,最好依賴 ..True..Flase,如下:(《DjangoBook第八章例子》)
#coding=utf-8'''Created on 2013-4-17@author: BeginMan'''db={}def newuser(): prompt='login desired:' while True: name=raw_input(prompt) if db.has_key(name): prompt='name taken,try another' continue else: break pwd=raw_input('password:') db[name]=pwd def olduser(): name=raw_input('name:') pwd=raw_input('password:') if pwd==db.get(name): print 'welecom back ',name else: print 'login error' def showmenu(): prompt=""" ----------------- (N) new user login (E) existing user login (Q) quit ----------------- Enter choice: """ done=False while not done: chosen=False while not chosen: try: choice=raw_input(prompt).strip()[0].lower() except(EOFError,KeyboardInterrupt): choice='q' print '\n you picked:[%s]' %choice if choice not in 'neq': print 'invalid option,try again' else: chosen=True if choice=='q':done=True if choice=='n':newuser() if choice=='e':olduser() if __name__=='__main__': showmenu()
(3)、for迴圈
不同C#、java、C、等程式設計語言,如js中:for(var i=0;i<s.length;i++){....};python中它更像C#中的foreach():
>>> dic={'name':'BeginMan','job':'pythoner','age':22}>>> for obj in dic.items():print obj('age', 22)('job', 'pythoner')('name', 'BeginMan')
(4)、range()/len()使用
這兩個方法用的很多,如:
>>> for obj in range(5):print obj,0 1 2 3 4>>> for obj in [0,1,2,3,4]:print obj,0 1 2 3 4
首先瞭解下range()。它很像JavaScript裡面隨機函數,在python裡也這樣稱呼。
>>> help(range)Help on built-in function range in module __builtin__:range(...) range([start,] stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers. range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0. When step is given, it specifies the increment (or decrement). For example, range(4) returns [0, 1, 2, 3]. The end point is omitted! These are exactly the valid indices for a list of 4 elements.
當然,我們也可以這樣:
>>> for obj in range(5,10):print obj,5 6 7 8 9
range()經常和len()函數一起使用用於字串索引,如:
>>> name='BeginMan'>>> for obj in range(len(name)):print '(%d)' %obj,name[obj](0) B(1) e(2) g(3) i(4) n(5) M(6) a(7) n
enumerate()的強勢圍攻,
上面的例子迴圈有些約束,Python2.3推出了enumerate()函數來解決這一問題,enumerate:枚舉 的意思:
>>> for i,j in enumerate(name):print i,j0 B1 e2 g3 i4 n5 M6 a7 n>>>
4、列表解析
5、檔案操作
開啟檔案:handle=open(file_name,access_mode='r')
如果開啟成功,一個檔案對象的控制代碼將會被返回,就可以通過它的控制代碼進行一系列的操作。
filename=raw_input('Enter file name:')#filename:對應檔案完整路徑,這裡建立一個py.txt與.py檔案同級fobj=open(filename,'r') #獲得檔案對象的控制代碼 fobjfor eachLine in fobj: print eachLinefobj.close() #一次讀入檔案的所有行然後關閉檔案,再迭代每一行的輸出