python核心编程 第三章
1 语句和语法
1 “#”表示之后的字符是注释
2 “”表示继续上一行,pycharm可以自动换行。
3 “;”分割两个语句,可以把两个语句写在一行里
4python模块的注释:
在模块后的第一行以双引号的形式进行""
显示调用__doc__函数
2 变量的赋值
1 赋值语句被当成一个表达式,python的赋值语句没有返回值
2 赋值运算的各种符号:
+= -= *= /= %= **=
<<= >>= &= ^= |=
3 多元赋值
x,y,z = 1,2,"string"
3 编程的风格
1 注释需要准确
2 注释文档 obj__doc__获取文档字符串
3 缩进3到7个空格,不要使用tab制表符
4 模块的布局
模块文档
模块导入
变量定义
类定义
函数定义
主程序
重要__name__
如果是需要执行模块那么 :name='main'
如果只是导入那么:name='模块的名字'
内存管理 del
每用一次del 那么对象的别名销毁,引用次数减一
练习
3–11.
字符串格式化 不再抑制 readTextFile.py 中 print 语句生成的 NEWLINE 字符, 修改你的
代码, 在显示一行之前删除每行末尾的空白。 这样, 你就可以移除 print 语句末尾的逗号了。
提示: 使用字符串对象的 strip()方法
#-*- coding: utf-8 -*-
"readTextFile.py -- read and display text file"
fname = raw_input("请输入文件名")
try:
fobj = open(fname)
except IOError ,e:
print"*** file open error:",e
else:
print (fobj.read() ).strip()
fobj.close()
3–12. 合并源文件。将两段程序合并成一个,给它起一个你喜欢的名字,比方
readNwriteTextFiles.py。让用户自己选择是创建还是显示一个文本文件。
import os
state = 1
def menu():
print "请输入需要选择的功能"
print"0 退出"
print"1 创建一个新文件"
print "2 读取一个文件"
return int(raw_input())
def creat():
ls = os.linesep
while True:
fname = raw_input("请输入要新建的文件名")
if os.path.exists(fname):
print "%s文件名已经存在请重新输入" % fname
else:
break
all = []
print "请输入要存储的数据(如果输入结束请输入“.”字符)"
while True:
entry = raw_input("请输入要保存的数据")
if entry == ".":
break
else:
all.append(entry)
fobj = open(fname,"w")
fobj.writelines(["%s%s" % (x, ls)for x in all])
fobj.close()
print"文件已经成功保存"
def read ():
fname = raw_input("请输入文件名")
try:
fobj = open(fname)
except IOError, e:
print"*** file open error:", e
else:
print (fobj.read()).strip()
fobj.close()
while(state):
state = menu()
if state == 1:
creat()
elif state ==2:
read()
print "按任意键继续"
3–13. 添加新功能。 将你上一个问题改造好的 readNwriteTextFiles.py 增加一个新功
能:允许用户编辑一个已经存在的文本文件。 你可以使用任何方式,无论是一次编辑一行,还
是一次编辑所有文本。 需要提醒一下的是, 一次编辑全部文本有一定难度, 你可能需要借助 GUI
工具包或一个基于屏幕文本编辑的模块比如 curses 模块。要允许用户保存他的修改(保存到
文件)或取消他的修改(不改变原始文件),并且要确保原始文件的安全性(不论程序是否正
常关闭)。
待完成
已完成,用了wxpython来完成它。我写成了另一篇博客。!点击进入