《Python核心编程》第三章练习解析
来源:互联网 发布:oracle数据库oblob操作 编辑:程序博客网 时间:2024/05/21 19:31
第三章
第一题:
标识符,为什么python不需要变量名和变量类型的声明?
在python中不需要显示的声明变量,变量在第一次赋值时自动声明。在python中一切皆是对象,变量里储存的并不是具体的数值,而是对象的引用。所以,变量的类型依据等号右边对象的类型被自动声明。
第二题:
标识符。为什么python不需要声明函数类型?
这与第一题大同小异,python是动态脚本语言,程序会在运行的时候对函数进行类型检测。
第三题:
标识符。为什么应当避免在变量的开始和结尾使用双下划线?
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,应避免使用下划线作为变量名的开始。一般来讲,变量名__XXX被看作是“私有的”,在模块或类外不可以使用。当变量是私有的时候,用__XXX来表示变量是很好的习惯。因为变量名__XXX__对python来说有特殊的含义,对于普通的变量应当避免这种命名风格。
第四题:
语句。python中可以一行写多个语句么?
可以,python可以以分号为分隔符一行写多个语句,但为了代码的可读性python并不建议这样做。第五题:
语句。python可以将一个语句分多行书写么?
可以,一个过长的语句可以使用反斜杠(\)分解成几行。有两种列外的情况一个语句不使用反斜杠也能跨行:
一、在使用闭合操作符时,单一语句可以跨行,例如在含有小括号、中括号、大括号时可以多行书写。
二、三引号包括下的字符串也可以多行书写。
第六题:
变量赋值。
a)赋值语句 x,y,z = 1,2,3 会在x,y,z中分别赋什么值?
x = 1, y = 2, z = 3
b)执行 z,x,y = y,z,x 后,x,y,z 中分别是什么含义?
这是一个变量值得交换语句(无需中间变量),令 z = x;x = z;y = x
第七题:
标识符。
合法的标识符有: int32 printf print _print this self __name__ bool true big-daddy type thisIsn'tAVar thisISAVar R_U_Ready Int True if do counter-1 access
关键字:print if
************************以下问题涉及书本第三章的makeTextFile.py和readTextFile.py脚本,我将在原来脚本的基础上修改,一并回答所有问题************************
<span style="font-size:14px;">#2015-02-15# -*- coding: utf-8 -*-import osdef maketextfile(): 'MakeTextFile -- create and read text file' ls = os.linesep #get filename while True: fname = raw_input('Enter File Name:') if os.path.exists(fname): print "ERROR :%s already exits" % fname else: break #get file content all = [] print "\nEntser lines ('.'by itself to quit).\n" #loop until user terminates input while True: enter = raw_input() if enter == '.': break else: all.append(enter) #write lines to file with proper line-ending fobj = open(fname,'w') fobj.writelines(['%s%s'%(x,ls) for x in all]) fobj.close() print 'DONE!' def readtextfile(): 'ReadTextFile -- read and display text file' #get filename while True: fname = raw_input('Enter File Name:') #attempt open file for raeding try: fobj = open(fname,'r') except IOError as e: print 'file open error:',e else: #display conetnt to the screen for eachline in fobj: print eachline.strip('\n') fobj.close() break def addtextfile(): 'AddTextFile -- add content to the text file' ls = os.linesep #get filename while True: fname = raw_input('Enter File Name:') #attempt open file for raeding try: fobj = open(fname,'a') except IOError as e: print 'file open error:',e else: #add conetnt to the screen all = [] while True: inter = raw_input() if inter == '.': break else: all.append(inter) print 'Do you want save it,yes or no ?' inter = raw_input() if inter == 'yes': fobj.writelines(['%s%s'% (x,ls) for x in all]) fobj.close() break if __name__== '__main__': print 'This is a document management system' print "input 'h' to see the help information" while True: order = raw_input() if order == 'h': print 'm : Create a text file.' print 'r : Read a text file.' print 'a : Add a text file.' print 'q : Quit!' elif order == 'm': print maketextfile.__doc__ maketextfile() elif order == 'r': print readtextfile.__doc__ readtextfile() elif order == 'a': print addtextfile.__doc__ addtextfile() elif order == 'q': print 'DONE!' break</span>
- 《Python核心编程》第三章练习解析
- 《Python核心编程》第二章练习解析
- 《Python核心编程》第四章练习解析
- 《Python核心编程》第五章练习解析
- 《Python核心编程》第六章练习解析
- 《Python核心编程》第七章练习解析
- 《Python核心编程》第八章练习解析
- 《python核心编程第二版》第二章练习答案解析
- 《python核心编程第二版》第四章练习解析
- 《python核心编程第二版》第五章练习解析
- 《python核心编程第二版》第六章练习解析
- 《python核心编程第二版》第七章练习解析
- 《python核心编程第二版》第八章练习解析
- 《Python核心编程》第一章练习解析
- Python核心编程 第三章
- Python核心编程-练习
- 《Python核心编程》第三章:Python基础
- 《Python核心编程》第三章:Python基础
- CTreeCtrl 控件使用总结
- hihocoder第十一周树中的最长路
- 浮点型变量在计算机内存中的存储格式
- 汉字编码在Unicode区间
- 10976 - Fractions Again?!
- 《Python核心编程》第三章练习解析
- 框架中为何要定义DTO
- LabVIEW之生产者/消费者模式--队列操作
- Thinkphp3.1.3 又拍云upyun上传驱动
- 总结i2c相关驱动注册层次说明
- 趋势科技实习(生日当天的任务)
- usful function--reverse(str)
- 献给我们的父母亲
- OpenWRT UCI API的使用——C语言