- 我们创建这个备份脚本的过程是编写程序的推荐方法——进行分析与设计。开始时实施一个简单的版本。对它进行测试与调试。使用它以确信它如预期那样地工作。再增加任何你想要的特性,根据需要一次次重复这个编写-测试-使用的周期。记住“软件是长出来的,而不是建造的”。
- 面向对象编程
- Python中的self等价于C++中的self指针和Java、C#中的this参考。
- 假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。(?)
- 这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。(?)
- Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是 有效的 。
只有一个例外:如果你使用的数据成员名称以 双下划线前缀 比如__privatevar,Python的名称管理体系会有效地把它作为私有变量。 - 这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他的名称都将作为公共的,可以被其他类/对象使用。
- 如果在继承元组中列了一个以上的类,那么它就被称作 多重继承(??)
- f = file(‘poem.txt’) 没有指定模式,读模式会作为默认的模式
- 你还可以让try..catch块关联上一个else从句。当没有异常发生的时候,else从句将被执行。
- 你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。
- try..finally
假如你在读一个文件的时候,希望在无论异常发生与否的情况下都关闭文件,该怎么做呢?这可以使用finally块来完成。注意,在一个try块下,你可以同时使用except从句和finally块。如果你要同时使用它们的话,需要把一个嵌入另外一个。 - 对于有经验的程序员,sys模块中其他令人感兴趣的项目有sys.stdin、sys.stdout和sys.stderr它们分别对应你的程序的标准输入、标准输出和标准错误流。
- os.sep可以取代操作系统特定的路径分割符
- 单语句块(??)
- lambda语句被用来创建新的函数对象,并且在运行时返回它们。
- exec语句用来执行储存在字符串或文件中的Python语句
- eval语句用来计算存储在字符串中的有效Python表达式
- repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。你可以通过定义类的repr方法来控制你的对象在被repr函数调用的时候返回的内容。
Python学习笔记4
坚持原创技术分享,您的支持将鼓励我继续创作!