1.這是python的語言特性,python先建立對象,在給變量賦值時,不須要定義變量的名稱和類型,它實際是用變量引用對象。變量類型在給變量賦值時自動聲明python
2.緣由相似變量無須聲明類型git
3.python用下劃線做爲變量前綴和後綴指定特殊變量,對解釋器有特殊意義,也是內建標識符所使用的特殊符號,故通常避免用下劃線做爲變量的開頭和結尾編程
4.python一行能夠書寫多個語句,多個語句間用";"分隔。可是爲了良好的編程風格,不推薦這麼作app
5.python能夠將一個語句分紅多行書寫,行的末尾用反斜槓"\"標識。python一行語句最好不超過80字符,因此若一個語句過長,能夠分紅多行書寫。其餘狀況下,仍是保持一個物理行寫一個邏輯行吧this
6.變量賦值spa
(a)賦值語句 x, y, z = 1, 2, 3 在x中賦值1,y中賦值2,z中賦值3操作系統
(b)執行在z, x, y = y, z, x後,x值是3,y的值是1,z的值是2code
7.標識符對象
int32;printf;print;_print;this;self;__name__;bool;true;type;thisIsAVar;R_U_ready;Int;True;if;do;accessblog
是合法的python標識符
其中,print;if是python關鍵字。
8.
#!/user/bin/env python # -*- coding:utf-8 -*- 'makeTextFile.py -- create text file' import os ls = os.linesep while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 if os.path.exists(fname): print u"錯誤:'%s' 文件已經存在!" % fname else: break all = [] print u"\n 請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入沒一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!"
9.操做系統:Windows 10 64位
os.linesep:'\r\n'
10.① try-except-else 替代
#!/user/bin/env python # -*- coding:utf-8 -*- 'makeTextFile.py -- create text file' import os ls = os.linesep while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 try: fobj = open(fname) except IOError: break else: print u"錯誤:%s 文件已經存在" % fname all = [] print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!"
②os.path.exists()替換try-except-else
#!/user/bin/env python # -*- coding:utf-8 -*- 'readTextFile.py -- read and display text file' import os #用戶輸入要打開的文件 fname = raw_input("請輸入文件名:") print #嘗試以閱讀模式打開文件 if os.path.exists(fname): fobj = open(fname,'r') for eachline in fobj: print eachline, fobj.close() else: print "錯誤:文件不存在!"
11.
#!/user/bin/env python # -*- coding:utf-8 -*- "readTextFile.py -- read and display text file" #用戶輸入要打開的文件 fname = raw_input("Enter file name".decode("utf-8").encode("gbk")) print #嘗試以閱讀模式打開文件 try: fobj = open(fname,'r') except IOError,e: print "*** file open error:",e else: #打印出文件內容 for eachline in fobj: print eachline.strip('\n') fobj.close()
給本身的提示:字符串的strip()方法用於移除字符串頭尾指定的字符,它返回移除指定字符後的新字符串
eg:
str = "11111Let's see how the strip() works.1111111" print str.strip('1')
輸出:
Let's see how the strip() works.
12.修改後程序以下
#!user/bin/env python # -*- coding:utf-8 -*- 'read_or_makeTextFile.py -- read and display text file,or create text file ' import os ls = os.linesep while True: choise = raw_input("打開文件請輸入1,建立文件輸入2,退出輸入3:".decode("utf-8").encode("gbk")) if not choise.isdigit(): print u"請輸入數字" elif int(choise) == 1: fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk")) print #嘗試以閱讀模式打開文件 if os.path.exists(fname): fobj = open(fname,'r') for eachline in fobj: print eachline, fobj.close() else: print "錯誤:文件不存在!" elif int(choise) == 2: while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 if os.path.exists(fname): print u"錯誤:'%s' 文件已經存在!" % fname else: break all = [] print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!" elif int(choise) == 3: print u"程序將退出" break else: print u"請從新輸入"
13.修改後程序以下
1 #!user/bin/env python 2 # -*- coding:utf-8 -*- 3 4 'read_or_makeTextFile.py -- read and display text file,or create text file ' 5 6 import os 7 ls = os.linesep 8 print os.getcwd() 9 while True: 10 choise = raw_input("打開文件請輸入1,建立文件輸入2,編輯文件輸入3,退出輸入4:".decode("utf-8").encode("gbk")) 11 12 if not choise.isdigit(): 13 print u"請輸入數字" 14 elif int(choise) == 1: 15 fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk")) 16 17 print 18 19 #嘗試以閱讀模式打開文件 20 21 if os.path.exists(fname): 22 fobj = open(fname,'r') 23 for eachline in fobj: 24 print eachline, 25 fobj.close() 26 else: 27 print u"錯誤:文件不存在!" 28 elif int(choise) == 2: 29 while True: 30 fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) 31 #判斷文件是否已經存在,若是存在則從新輸入 32 if os.path.exists(fname): 33 print u"錯誤:'%s' 文件已經存在!" % fname 34 else: 35 break 36 all = [] 37 print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" 38 39 while True: 40 entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk")) 41 #判斷輸入內容是不是退出字符,如果則結束輸入 42 if entry == '.': 43 break 44 else: 45 all.append(entry) 46 #建立文件,並以寫入模式打開 47 fobj = open(fname,'w') 48 #將輸入的每行寫入文件中 49 fobj.writelines(['%s%s' % (x,ls) for x in all]) 50 fobj.close() 51 print u"成功建立!程序結束!" 52 elif int(choise) == 3: 53 fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk")) 54 print 55 56 #嘗試以讀寫模式("r+")模式打開文件 57 if os.path.exists(fname): 58 fobj = open(fname) 59 count = len(fobj.readlines()) 60 fobj.close() 61 lines = [] 62 for i in range(1,count): 63 line = raw_input("請輸入修改後的每行的內容:".decode("utf-8").encode("gbk")) 64 lines.append(line) 65 while True: 66 save = raw_input("保存修改輸入1,不保存輸入2:".decode("utf-8").encode("gbk")) 67 if not save.isdigit(): 68 print u"請輸入數字1保存或者2不保存!!" 69 elif int(save) == 1: 70 fobj = open(fname,'w') 71 fobj.writelines(['%s%s' % (x,ls) for x in lines]) 72 fobj.close 73 print u"修改爲功!" 74 break 75 elif int(save) == 2: 76 break 77 else: 78 print u"錯誤!文件不存在!" 79 80 elif int(choise) == 4: 81 print u"程序將退出" 82 break 83 else: 84 print u"請從新輸入"