您的位置:首页 - 教程 - python - 正文
python核心编程 第三章

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 模块。要允许用户保存他的修改(保存到
文件)或取消他的修改(不改变原始文件),并且要确保原始文件的安全性(不论程序是否正
常关闭)。

待完成


评论: