随笔分类 -  python

上一页 1 2 3 4 下一页

摘要:在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: 可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。 我们把变量从内存中变成可存储或传 阅读全文

posted @ 2016-05-11 15:59 邬兴亮 阅读(189) 评论(0) 推荐(0)

摘要:如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。 打开Pyth 阅读全文

posted @ 2016-05-11 14:33 邬兴亮 阅读(179) 评论(0) 推荐(0)

摘要:StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中读写str。 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可: getvalue()方法用于获得写入后的str。 要读取StringIO,可以用一 阅读全文

posted @ 2016-05-11 14:25 邬兴亮 阅读(225) 评论(0) 推荐(0)

摘要:读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从 阅读全文

posted @ 2016-05-06 18:05 邬兴亮 阅读(237) 评论(0) 推荐(0)

摘要:如果你经常阅读Python的官方文档,可以看到很多文档都有示例代码。比如re模块就带了很多示例代码: 可以把这些示例代码在Python的交互式环境下输入并执行,结果与文档中的示例代码显示的一致。 这些代码与其他说明可以写在注释中,然后,由一些工具来自动生成文档。既然这些代码本身就可以粘贴出来直接运行 阅读全文

posted @ 2016-05-06 18:01 邬兴亮 阅读(200) 评论(0) 推荐(0)

摘要:如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对函数abs(),我们可以编写出以下几个测试用例: 输入正数,比如1、1.2、0.99,期待返回值与输入相同; 输 阅读全文

posted @ 2016-05-06 17:59 邬兴亮 阅读(176) 评论(0) 推荐(0)

摘要:程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。 第一种方法简单直接粗暴有效,就是用print()把 阅读全文

posted @ 2016-05-06 17:55 邬兴亮 阅读(265) 评论(0) 推荐(0)

摘要:在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。 用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结 阅读全文

posted @ 2016-05-06 17:43 邬兴亮 阅读(249) 评论(0) 推荐(0)

摘要:type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个Hello的class,就写一个hello.py模块: 当Python解释器载入hello模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个Hello的clas 阅读全文

posted @ 2016-05-05 17:42 邬兴亮 阅读(191) 评论(0) 推荐(0)

摘要:当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: 好处是简单,缺点是类型是int,并且仍然是变量。 更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能: value属性则是自动赋给成员的int 阅读全文

posted @ 2016-05-05 17:34 邬兴亮 阅读(218) 评论(0) 推荐(0)

摘要:看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。 除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮 阅读全文

posted @ 2016-05-05 17:23 邬兴亮 阅读(188) 评论(0) 推荐(0)

摘要:继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗; Bat - 蝙蝠; Parrot - 鹦鹉; Ostrich - 鸵鸟。 如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次: 但是 阅读全文

posted @ 2016-05-05 15:26 邬兴亮 阅读(195) 评论(0) 推荐(0)

摘要:在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: 这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数: 现 阅读全文

posted @ 2016-05-05 15:20 邬兴亮 阅读(205) 评论(0) 推荐(0)

摘要:正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class: 然后,尝试给实例绑定一个属性: 还可以尝试给实例绑定一个方法: 但是,给一个实例绑定的方法,对另一个实例是不起作用的: 为了给所有实例都绑定方法,可以 阅读全文

posted @ 2016-05-05 15:14 邬兴亮 阅读(183) 评论(0) 推荐(0)

摘要:由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过self变量: 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: 当我们定义了一个类属性后,这个属性虽然归类所有,但 阅读全文

posted @ 2016-05-05 15:06 邬兴亮 阅读(206) 评论(0) 推荐(0)

摘要:当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: 如果一个变量指向函数或者类,也可以用type()判断: 阅读全文

posted @ 2016-05-05 14:59 邬兴亮 阅读(151) 评论(0) 推荐(0)

摘要:在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直 阅读全文

posted @ 2016-05-05 14:53 邬兴亮 阅读(206) 评论(0) 推荐(0)

摘要:在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Pyt 阅读全文

posted @ 2016-05-05 14:43 邬兴亮 阅读(199) 评论(0) 推荐(0)

摘要:面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字: class后面 阅读全文

posted @ 2016-05-05 14:37 邬兴亮 阅读(185) 评论(0) 推荐(0)

摘要:我所使用的操作系统是Windows7,内存是2G 在搜索了一些资料发现,对于Django的安装,详细的真的很少,都说的很简化,然而,这篇blog可以手把手教你成功安装Django 对于Django的详细了解: Django 下面我们进行安装操作: 1.下载Django包 目前的最新版本是:Djang 阅读全文

posted @ 2016-04-29 17:52 邬兴亮 阅读(163) 评论(0) 推荐(0)

上一页 1 2 3 4 下一页

导航