3-1
python是动态语言,它的对象的类型和内存都是运行时确定的;在创建新对象时,解释器会根据语法和右侧的操作数来决定新对象的类型。
3-2
python不用去声明函数的返回类型,是由其“若类型”的语言特性决定的。python是把储存的数据直接放到内存,然后再去用一个变量名引用这个数据。
3-3
因为python系统定义的名字是__xxx__,所以在变量名的开始和结尾使用双下划线容易引起混淆。
3-4
可以,但是要用";"分隔开。
3-5
可以,一行过长的语句可以使用反斜杠( \ )分解成几行;使用闭合操作符时,单一语句也可以跨多行,例如:在含有小括号、中括号、花括号时可以书写多行。另外就是三引号包括下的字符串也可以跨行书写。
3-6
(a) 1,2,3
(b) 2,3,1
3-7
查文档
3-8
makeTextFile.py
1 'makeTextFile.py -- create text file' 2 3 import os 4 ls = os.linesep 5 6 #get filename 7 while True: 8 9 if os.path.exists('C:\\Users\\Administrator\\Desktop\\python\\xue\\weixing.txt'): 10 print "ERROR: '%s' already exists" % ('C:\\Users\\Administrator\\Desktop\\python\\xue\\weixing.txt') 11 else: 12 break 13 14 #get file content (text) lines 15 all = [] 16 print "\nEnter lines ('.' by itself to quit).\n" 17 18 # loop until user terminates input 19 while True: 20 entry = raw_input('input something you want to write: ') 21 if entry == '.': 22 break 23 else: 24 all.append(entry) 25 26 # write lines to file with proper line-ending 27 fobj = open('C:\\Users\\Administrator\\Desktop\\python\\xue\\weixing.txt', 'w') 28 fobj.writelines(['%s%s' % (x, ls) for x in all]) 29 fobj.close() 30 print 'DONE!'
readTextFile.py
1 'readTextFile.py -- read and display text file' 2 3 # get filename 4 fname = raw_input('Enter filename: ') 5 print 6 7 # attempt to open file for reading 8 try: 9 fobj = open(fname, 'r') 10 except IOError, e: 11 print "*** file open error:", e 12 else: 13 #display contents to the screen 14 for eachLine in fobj: 15 print eachLine, 16 fobj.close()
3-9
os.linesep给出当前平台使用的行终止符
windows平台使用 '\r\n'
linux平台使用 '\n'
mac平台使用 '\r'
3-10
makeTextFile2.py
1 import os 2 ls = os.linesep 3 4 #get filename 5 while True: 6 fname = raw_input("Enter file name:") 7 try: 8 open(fname, 'r') 9 print "*** ERROR:'%s' already exists" % fname 10 except IOError: 11 break 12 fname.close() 13 14 # get file content (text) lines 15 all = [] 16 print "\nEnter lines ('.' by itself to quit).\n" 17 18 # loop until user terminates input 19 while True: 20 entry = raw_input("input something you want to write: ") 21 if entry == '.': 22 break 23 else: 24 all.append(entry) 25 26 # write lines to file with proper line-ending 27 fobj = open(fname, 'w') 28 fobj.writelines(['%s%s' % (x, ls) for x in all]) 29 fobj.close() 30 print 'DONE!'
readTextFile2.py
1 import os 2 3 'readTextFile.py -- read and display text file' 4 5 # get filename 6 fname = raw_input('Enter filename: ') 7 print 8 9 # attempt to open file for reading 10 if os.path.exists(fname): 11 fobj = open(fname, 'r') 12 for eachLine in fobj: 13 print eachLine, 14 fobj.close() 15 else: 16 print "Error: can't find the file!" 17
3-11
1 'readTextFile.py -- read and display text file' 2 3 # get filename 4 fname = raw_input('Enter filename: ') 5 print 6 7 # attempt to open file for reading 8 try: 9 fobj = open(fname, 'r') 10 except IOError, e: 11 print "*** file open error:", e 12 else: 13 #display contents to the screen 14 for eachLine in fobj: 15 print eachLine.strip() 16 fobj.close()
3-12
1 import os 2 ls = os.linesep 3 4 def makeTextFile(): 5 while True: 6 fname = raw_input("Enter file name:") 7 try: 8 open(fname, 'r') 9 print "*** ERROR:'%s' already exists" % fname 10 except IOError: 11 break 12 fname.close() 13 14 # get file content (text) lines 15 all = [] 16 print "\nEnter lines ('.' by itself to quit).\n" 17 18 # loop until user terminates input 19 while True: 20 entry = raw_input("input something you want to write: ") 21 if entry == '.': 22 break 23 else: 24 all.append(entry) 25 26 # write lines to file with proper line-ending 27 fobj = open(fname, 'w') 28 fobj.writelines(['%s%s' % (x, ls) for x in all]) 29 fobj.close() 30 print 'DONE!' 31 32 def readTextFile(): 33 fname = raw_input('Enter filename: ') 34 print 35 36 # attempt to open file for reading 37 if os.path.exists(fname): 38 fobj = open(fname, 'r') 39 for eachLine in fobj: 40 print eachLine, 41 fobj.close() 42 else: 43 print "Error: can't find the file!" 44 45 if __name__ == "__main__": 46 while True: 47 print """Choose one: 48 1)makeTextFile 49 2)readTextFile 50 3)quit 51 """ 52 53 getcode = raw_input("which you choose:") 54 if getcode == "1": 55 makeTextFile() 56 elif getcode == "2": 57 readTextFile() 58 elif getcode == "3": 59 break 60 else: 61 print "Please repeat one!"