随笔分类 -  python

Notes about learning python.
摘要:在内网办公环境,常常需要使用离线安装python的软件包。 一般都会先在互联网的电脑上下载,再拷贝到内网办公机器上进行离线安装。 一般来说,我是这样做的: 1、拷贝和外网电脑上版本一致,且32位或64位也一致的python安装包至内网安装。 2、在外网电脑上安装好需要的包 例如: 3、外网打包已安装 阅读全文
posted @ 2019-04-16 23:28 阿玛尼迪迪 阅读(586) 评论(0) 推荐(0) 编辑
摘要:python基础——单元测试 如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对函数abs(),我们可以编写出以下几个测试用例: 输入正数,比如1、1.2、0.9 阅读全文
posted @ 2016-08-31 23:19 阿玛尼迪迪 阅读(492) 评论(0) 推荐(0) 编辑
摘要:python基础——调试 程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。 第一种方法简单直接粗暴有 阅读全文
posted @ 2016-08-31 21:22 阿玛尼迪迪 阅读(389) 评论(0) 推荐(0) 编辑
摘要:python基础——错误处理 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。 用错误码来表示是否出错十分不便 阅读全文
posted @ 2016-08-31 10:48 阿玛尼迪迪 阅读(288) 评论(0) 推荐(0) 编辑
摘要:python基础——使用元类 type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个Hello的class,就写一个hello.py模块: 当Python解释器载入hello模块时,就会依次执行该模块的所有语句,执行结果就是动态 阅读全文
posted @ 2016-08-31 09:06 阿玛尼迪迪 阅读(805) 评论(0) 推荐(0) 编辑
摘要:python基础——枚举类 当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: 好处是简单,缺点是类型是int,并且仍然是变量。 更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能: 这样我们就 阅读全文
posted @ 2016-08-30 19:29 阿玛尼迪迪 阅读(684) 评论(0) 推荐(0) 编辑
摘要:python基础——定制类 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。 除此之外,Python的class中还有许多 阅读全文
posted @ 2016-08-30 18:53 阿玛尼迪迪 阅读(420) 评论(0) 推荐(0) 编辑
摘要:python基础——多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗; Bat - 蝙蝠; Parrot - 鹦鹉; Ostrich - 鸵鸟。 如果按照哺乳动物和鸟类归类,我们可 阅读全文
posted @ 2016-08-30 09:05 阿玛尼迪迪 阅读(276) 评论(0) 推荐(0) 编辑
摘要:python基础——使用@property 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: 这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set 阅读全文
posted @ 2016-08-29 23:23 阿玛尼迪迪 阅读(776) 评论(0) 推荐(0) 编辑
摘要:python基础——使用__slots__ 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class: 然后,尝试给实例绑定一个属性: 还可以尝试给实例绑定一个方法: 但是,给一个实例绑定的方法,对另一个实例是 阅读全文
posted @ 2016-08-29 22:14 阿玛尼迪迪 阅读(371) 评论(0) 推荐(0) 编辑
摘要:python基础——实例属性和类属性 由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过self变量: 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: 当我们定义了 阅读全文
posted @ 2016-08-29 21:14 阿玛尼迪迪 阅读(259) 评论(0) 推荐(0) 编辑
摘要:python基础——获取对象信息 当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: 如果一个变量指向函数或者类,也可以用type()判断: 但是type()函数返回的是什么类 阅读全文
posted @ 2016-08-29 20:59 阿玛尼迪迪 阅读(507) 评论(0) 推荐(0) 编辑
摘要:python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 比如,我们已经编写了一个名为Animal的cla 阅读全文
posted @ 2016-08-29 17:03 阿玛尼迪迪 阅读(259) 评论(0) 推荐(0) 编辑
摘要:python基础——访问限制 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: 如果要让内部属性不被外部访问,可以把属性的名称 阅读全文
posted @ 2016-08-29 15:51 阿玛尼迪迪 阅读(299) 评论(0) 推荐(0) 编辑
摘要:python基础——类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过cl 阅读全文
posted @ 2016-08-29 15:03 阿玛尼迪迪 阅读(346) 评论(0) 推荐(0) 编辑
摘要:python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计, 阅读全文
posted @ 2016-08-29 11:04 阿玛尼迪迪 阅读(207) 评论(0) 推荐(0) 编辑
摘要:python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的。 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。 如果你正在使用Windows,请确保安装python时勾选了pip和Add python.exe to Path。 在命令提示符窗 阅读全文
posted @ 2016-08-29 10:41 阿玛尼迪迪 阅读(293) 评论(0) 推荐(0) 编辑
摘要:python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块: 第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文 阅读全文
posted @ 2016-08-29 09:31 阿玛尼迪迪 阅读(294) 评论(0) 推荐(0) 编辑
摘要:python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之 阅读全文
posted @ 2016-08-27 12:08 阿玛尼迪迪 阅读(230) 评论(0) 推荐(0) 编辑
摘要:python基础——偏函数 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例 阅读全文
posted @ 2016-08-27 11:31 阿玛尼迪迪 阅读(655) 评论(0) 推荐(0) 编辑

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