随笔分类 -  Python

摘要:一,接口和实现 面向对象编程设计的目的之一,就是让软件更容易维护,这就意味着当系统中其他部分发生改变的时候,依然能让程序运行,然后可以修改程序去符合新的需求。 实现这一目标的程序设计原则就是要让接口和实现分开,而对于对象来说,这就意味着一个类包含的方法要不能被属性表达方式的变化所影响。 二,术语 面 阅读全文
posted @ 2020-07-16 17:56 巴州夜雨 阅读(133) 评论(0) 推荐(0) 编辑
摘要:一,多态 在必要的时候,根据类型运算还是很有用的,不过并不总需要这么做。一般情况下,我们都可以把函数写成能处理不同类型参数的,这样就不用这么麻烦了。 之前为字符串写的很多函数,也都可以用到其他序列类型上面。比如用函数 histogram 来统计一个单词中每个字母出现的次数。 >>> def hist 阅读全文
posted @ 2020-07-16 15:05 巴州夜雨 阅读(349) 评论(0) 推荐(0) 编辑
摘要:一,运算符重载 如果通过定义一些特定的方法,就能针对自定义类型,让运算符有特定的作用。 比如,如果你在 Time 类中定义了一个名为add的方法,你就可以对 Time 对象使用 + 加号运算符。 >>> class Time: ... def __init__(self, hour=0, minut 阅读全文
posted @ 2020-07-15 22:15 巴州夜雨 阅读(377) 评论(0) 推荐(0) 编辑
摘要:一,init方法 init 方法就是对initialization的缩写,初始化的意思,这个方法相当于C++中的构造函数,是一种特殊的方法,在对象被实例化的时候被调用。 这个方法的全名是_ _init_ _,在 Time 类当中,init 方法示例如下: >>> class Time: ... de 阅读全文
posted @ 2020-07-15 15:33 巴州夜雨 阅读(671) 评论(0) 推荐(0) 编辑
摘要:一,面向对象的特性 Python 是一种面向对象的编程语言,这就意味着它提供了一些支持面向对象编程的功能,有以下这些特点: • 程序包含类和方法的定义。 • 大多数运算都以对象运算的形式来实现。 • 对象往往代表着现实世界中的事物,方法则相对应地代表着现实世界中事物之间的相互作用。 比如之前定义的 阅读全文
posted @ 2020-07-14 22:40 巴州夜雨 阅读(782) 评论(0) 推荐(0) 编辑
摘要:一,规划式开发 原型+补丁模式,渐进式的开发也会产生过分复杂的代码——因为要应对很多特例情况,而且也不太靠靠——因为不好确定你是否找到了所有的错误。 另一种模式就是规划式开发,这种情况下对问题的深入透彻的理解就让开发容易很多了。 比如上节中的 Time 对象,实际上是一个三位的六十进制数字。秒数也就 阅读全文
posted @ 2020-07-14 15:22 巴州夜雨 阅读(145) 评论(0) 推荐(0) 编辑
摘要:写一些函数,这些函数用自定义类型做参数和返回值。 一,时间 定义一个叫做 Time 的类,记录下当日的时间: >>> class Time: ... """Represents the time of day. ... attributes: hour, minute, second.""" ... 阅读全文
posted @ 2020-07-09 17:47 巴州夜雨 阅读(192) 评论(0) 推荐(0) 编辑
摘要:一,调试 1.当我们开始使用对象的时候,你就容易遇到一些新的异常。如果你试图读取一个不存在的属性,就会得到一个属性错误: >>> p = Point() >>> p.x = 3.0 >>> p.y = 4.0 >>> p.z #没有声明,就直接读取属性p.z,会报错属性错误。 Traceback ( 阅读全文
posted @ 2020-07-09 11:45 巴州夜雨 阅读(225) 评论(0) 推荐(0) 编辑
摘要:一,对象可以修改 对象是可以修改的,通过对一个对象的属性进行赋值就可以修改该对象的状态了。 1.比如,要改变一个矩形的大小而不改变位置,就可以只修改宽度和高度,如下所示: >>> square_box.width = square_box.width + 50 >>> square_box.heig 阅读全文
posted @ 2020-07-08 22:25 巴州夜雨 阅读(2254) 评论(0) 推荐(0) 编辑
摘要:一,矩形的类,嵌入式 如果要设计一个表示矩形的类,你要用什么样的属性来确定一个矩形的位置和大小呢? 可以忽略角度,来让情况更简单一些,就只考虑矩形是横向的或者纵向的。 方案:确定矩形的一个顶点(或者中心)所在位置,还有宽度和高度。 如下是类的定义: >>> class rectangle: ... 阅读全文
posted @ 2020-07-03 11:48 巴州夜雨 阅读(364) 评论(0) 推荐(0) 编辑
摘要:类和对象,主要是学习【面向对象编程】了,这种编程方法中,用户可以自定义类型来同时对代码和数据进行整理。 一,用户自定义类型 Python 有很多的内置类型,现在我们来自定义一个新的类型。 比如,创建一个叫 Point 的类,用于表示一个二维空间中的点。 数学符号上对点的表述一般是一个括号内有两个坐标 阅读全文
posted @ 2020-07-02 20:25 巴州夜雨 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:一,调试函数repr 读写文件的时候,你可能会碰到空格导致的问题,这些问题很难解决,因为空格、跳表以及换行,平常就难以用眼睛看出来: >>> s = '1 2\t 3\n 4' >>> print(s) 1 2 3 4 >>> t = 'I like use Python\n and you?' > 阅读全文
posted @ 2020-07-02 17:29 巴州夜雨 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一,管道(pipe) 大多数操作系统都提供了一个命令行接口,即【shell】。 在 shell 下能够启动的所有程序,也都可以在 Python 中启动,这要用到一个 pipe 对象,这个直接翻译意思为管道的对象,可以理解为 Python 与操作系统的 Shell 进行通信的途径,一个 pipe 对象 阅读全文
posted @ 2020-07-02 16:48 巴州夜雨 阅读(498) 评论(0) 推荐(0) 编辑
摘要:一,数据库 数据库是一个用来管理已存储数据的文件,很多数据库都以类似字典的形式来管理数据,就是从键到键值成对映射。 数据库和字典的最大区别就在于数据库是存储在磁盘,或者其他永久性存储设备中,所以程序运行结束退出后,数据库依然存在。 1.dbm模块提供了一个创建和更新数据库文件的交互接口。 >>> i 阅读全文
posted @ 2020-07-01 20:45 巴州夜雨 阅读(412) 评论(0) 推荐(0) 编辑
摘要:捕获异常 1.读写文件的时候有很多容易出错的地方;如果你要打开的文件不存在,就会得到一个IOerror: >>> find = open('bad_file.txt') Traceback (most recent call last): File "<stdin>", line 1, in <mo 阅读全文
posted @ 2020-07-01 18:56 巴州夜雨 阅读(1694) 评论(0) 推荐(0) 编辑
摘要:文件名与路径 文件都是按照目录来组织存放的。每一个运行着的程序都有一个当前目录,也就是用来处理绝大多数运算和操作的默认目录。 1.比如当你打开一个文件来读取内容的时候,Python 就从当前目录先来查找这个文件了。 提供函数来处理文件和目录的是 os 模块(operating system缩写) > 阅读全文
posted @ 2020-06-30 22:12 巴州夜雨 阅读(2480) 评论(0) 推荐(0) 编辑
摘要:格式运算符 1.write 方法必须用字符串来做参数,所以如果要把其他类型的值写入文件,就得先转换成字符串才行。最简单的方法就是用 str函数: >>> x = 50 >>> fout.write(str(x)) 另外一个方法就是用格式运算符,也就是百分号%。在用于整数的时候,百分号%是取余数的运算 阅读全文
posted @ 2020-06-30 20:19 巴州夜雨 阅读(356) 评论(0) 推荐(0) 编辑
摘要:一,持久性 我们见过的程序大多是很短暂的,它们往往只是运行那么一会,然后产生一些输出,等运行结束了,它们的数据就也都没了。如果你再次运行一个程序,又要从头开始了。 另外的一些程序就是持久的,它们运行时间很长,甚至一直在运行;这些程序还会至少永久保存一部分数据,比如存在硬盘上等等。 然后如果程序关闭了 阅读全文
posted @ 2020-06-30 18:21 巴州夜雨 阅读(213) 评论(0) 推荐(0) 编辑
摘要:元组: 一列元素组成的不可修改的序列。 元组赋值: 一种赋值语句,等号右侧用一个序列,左侧为一个变量构成的元组。右侧的内容先进行运算,然后这些元素会赋值给左侧的变量。 收集: 变量长度可变元组添加元素的运算。 分散: 将一个序列拆分成一系列参数组成的列表的运算。 拉链对象: 调用内置函数 zip 得 阅读全文
posted @ 2020-06-30 15:36 巴州夜雨 阅读(154) 评论(0) 推荐(0) 编辑
摘要:一,元组与列表 zip 是一个内置函数,接收两个或更多的序列作为参数,然后返回一个元组列表,该列表中每个元组都包含了从各个序列中的一个元素。 1.下面这个例子中,一个字符串和一个列表通过zip这个函数连接到了一起: >>> s = 'abc' >>> t = [0, 1, 2] >>> zip(s, 阅读全文
posted @ 2020-06-30 10:54 巴州夜雨 阅读(230) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示