Chapter~3 Python基础

3-1 标识符。为什么Python中不需要变量名和变量类型声明?

在Python语言中,对象的类型和内存占用都是运行时确定的。尽管代码被编译成字节码,Python仍然是一种解释型语言。在创建——也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。在对象创建后,一个该对象的应用会被赋值给左侧的变量。

3-2 标识符。为什么Python中不需要声明函数类型?

和不用声明变量一样,Python不用去声明函数的返回类型,是由于其“若类型”的语言特性决定的。

3-3 标识符。为什么应当避免在变量名的开始和结尾使用双下划线?

因为下划线对解释器有特殊的含义,而且是内建标识符所使用的符号。

3-4 语句。在Python中一行可以书写多个语句吗?

可以,用分号(;)连结即可。

3-5 语句。在Python中可以将一个语句分成多行书写吗?

可以,用反斜线(\)即可。

3-6 变量赋值

(a) 赋值语句 x,y,z=1,2,3会在x,y,z中分别赋什么值?

1,2,3

(b)执行z,x,y=y,z,x后,x,y,z中分别含有什么值?

2,3,1

下面的问题涉及了makeTextFile.py和readTextFile.py脚本

3-8 Python代码。将脚本拷贝到你的文件系统中,然后修改它。可以添加注释,修改提示符(‘>’太单调了)等,修改这些代码,使它看上去更舒服。

182858_w63w_2772312.png

3-9 移植。如果你在不同类型的计算机系统中分别安装有Python,检查一下,os.linesep的值是否有不同。记下操作系统的类型及linesep的值。

183218_3FaB_2772312.png

3-10 异常。使用类似readTextFile.py中异常处理的方法取代makeTextFile.py中对os.path.exists()的调用。反过来,用os.path.exists()取代readTextFile.py中的异常处理方法。

makeTextFile.py

192806_qnQy_2772312.png

readTextFile.py

193607_Lisn_2772312.png

3-11字符串格式化。不再抑制readTextFile.py中print语句生成的NEWLINE字符,修改你的代码,在显示一行之前删除每行末尾的空白。这样,你就可以移除print语句末尾的逗号了。提示:使用字符串对象的strip()方法。

194446_KH2b_2772312.png

3-12 合并源文件。将两段程序合并成一个,给它起一个你喜欢的名字,比如readNwriteTexts.py。让用户自己选择是创建还是显示一个文本文件。

201514_QemU_2772312.png

3-13 添加新功能。将你上一个问题改造好的readNwriteTextFiles.py增加一个新功能:允许用户编辑一个已经存在的文本文件。你可以使用任何方式,无论是一次编辑一行,还是一次编辑所有文本。需要提醒一下的是,一次编辑全部文本有一定难度,你可能需要借助GUI工具包或一个基于屏幕文本编辑器的模块比如curses模块。要允许用户保存他的修改(保存到文件)或取消他的修改(不改变原始文件),并且要确保原始文件的安全性(不论程序是否正常关闭)。

203459_YwPn_2772312.png

203531_qoQf_2772312.png

转载于:https://my.oschina.net/xyjiejie/blog/710787

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值