随笔分类 -  Python基础

摘要:一、__init__和__new__方法 __init__ 和 __new__ 最主要的区别在于:1.__init__ 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。2.__new__ 通常用于控制生成一个新实例的 阅读全文
posted @ 2017-12-20 17:10 魂~ 阅读(305) 评论(0) 推荐(0)
摘要:命名规范:总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。1 尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母。2 模块命名尽量短小,使用全部小写的方式,可以使用下划线。3 包命名尽量短小,使用全部小写的方式,不可以使用下划线。4 类的命名使用CapWords的方式,模 阅读全文
posted @ 2017-12-20 10:38 魂~ 阅读(763) 评论(0) 推荐(0)
摘要:一、定制类,实质就是我们自己重写特殊函数 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。 除此之外,Python的cla 阅读全文
posted @ 2017-12-18 15:55 魂~ 阅读(231) 评论(0) 推荐(0)
摘要:python是支持多继承的,在设计类的继承关系时,通常,主线都是单一继承下来的。但是,如果需要“混入”额外的功能,通过多重继承就可以实现,这种设计通常称之为MixIn。 为了更好地看出继承关系,以MixIn结尾命令,例如:Runnable和Flyable就可以改为RunnableMixIn和Flya 阅读全文
posted @ 2017-12-18 15:38 魂~ 阅读(171) 评论(0) 推荐(0)
摘要:一、property引入 为了使对象的属性不暴露给调用者和进行属性值检查,设置了访问属性的接口函数,使用函数访问属性,并可以在函数内部检查属性。 这样每次访问属性的时候,都要访问函数,相比较之前直接访问属性的方式,变得麻烦了。property可以解决这个麻烦,虽然还是函数,但是可以像属性一样访问。 阅读全文
posted @ 2017-12-18 15:28 魂~ 阅读(231) 评论(0) 推荐(0)
摘要:一、动态添加属性 二、动态给实例添加方法 三、动态给类添加方法 四、限制实例的属性 __slots__ __slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的: 除非在子类中也定义__slots__,这样,子类实例允许定义的属性就是自身的__slots__加上父类的__slots 阅读全文
posted @ 2017-12-17 18:58 魂~ 阅读(433) 评论(0) 推荐(0)
摘要:一、实例属性 Python是动态语言,根据类创建的实例可以任意绑定属性。 二、类属性 直接在class中定义属性,这种属性是类属性,归Student类所有。 在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访 阅读全文
posted @ 2017-12-17 16:34 魂~ 阅读(270) 评论(0) 推荐(0)
摘要:一、type()函数 判断基本数据类型可以直接写int,str等: 判断一个对象是否是函数: 二、isinstance()函数 对于class的继承关系来说,使用type()就很不方便。如果要判断class的类型,可以使用isinstance()函数。 用isinstance()判断基本类型: 并且 阅读全文
posted @ 2017-12-17 16:09 魂~ 阅读(326) 评论(0) 推荐(0)
摘要:一、继承 当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类的run(),在代码运行的时候,总是会调用子类的run()。 二、多态 当我们定义一个class的时候,我们实际上就定义了一种数据类型。 看来c不仅仅是Dog,c还是Animal!所以,在继承关系中,如果一个实例的 阅读全文
posted @ 2017-12-17 14:43 魂~ 阅读(281) 评论(0) 推荐(0)
摘要:一、双下划线 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问。 双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是。不能直接访问__name是因为Pyt 阅读全文
posted @ 2017-12-17 14:06 魂~ 阅读(868) 评论(0) 推荐(0)
摘要:一、类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 在Python中,定义类是通过class关键字,class后面紧接着是类名, 阅读全文
posted @ 2017-12-17 13:26 魂~ 阅读(215) 评论(0) 推荐(0)
摘要:一、面向对象和面相过程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把 阅读全文
posted @ 2017-12-17 12:57 魂~ 阅读(406) 评论(0) 推荐(0)
摘要:一、pip工具使用 安装windows版本python,自带pip工具。2者路径相同。 如果设置了环境路径,可以直接在命令提示符窗口下尝试运行pip。如果没有设置环境路径,可以先cd命令到pip工具的安装文件夹下,再运行pip。 安装Pillow模块: 二、批量安装常用模块 安装Anaconda。 阅读全文
posted @ 2017-12-17 12:34 魂~ 阅读(574) 评论(0) 推荐(0)
摘要:1、第一行代码在linux和mac系统下,该脚本可以直接运行。 2、第二行代码指定该文件使用标准utf-8标准。 3、第四行代码文档注视,任何模块代码的第一个字符串都被视为模块的文档注释。 4、第六行代码导入sys模块。 5、第八行代码使用__author__变量把作者写进去。 6、第二十一行代码, 阅读全文
posted @ 2017-12-17 12:19 魂~ 阅读(691) 评论(0) 推荐(0)
摘要:偏函数是某一种函数带有固定参数的实现。 functools.partial创建一个偏函数。 functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。 阅读全文
posted @ 2017-12-17 11:56 魂~ 阅读(328) 评论(0) 推荐(0)
摘要:一、装饰器定义 在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,Decorator就是一个返回函数的高阶函数。 观察上面的log,因为它是一个decorator,所以接受一个函数作为参数,并返回一个函数。要借助Python的@语法,把decorator置于函数的定义 阅读全文
posted @ 2017-12-17 11:09 魂~ 阅读(248) 评论(0) 推荐(0)
摘要:一、lambda使用语法: 关键字lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面只能有一个表达式,不用写return,返回值就是该表达式的结果。 无参数lambda表达式: 二、匿名函数是一个函数对象 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数 阅读全文
posted @ 2017-12-17 10:33 魂~ 阅读(364) 评论(0) 推荐(0)
摘要:一、函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 当我们调用lazy_sum()时,每次调用都会返回一个新的函数,即使传入相同的参数: 二、闭包 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个 阅读全文
posted @ 2017-12-17 10:20 魂~ 阅读(531) 评论(0) 推荐(0)
摘要:一、filter()函数 filter()接收一个函数和一个序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用lis 阅读全文
posted @ 2017-12-16 21:58 魂~ 阅读(448) 评论(0) 推荐(0)
摘要:一、map()函数 map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 二、reduce()函数 reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,red 阅读全文
posted @ 2017-12-16 21:24 魂~ 阅读(1125) 评论(0) 推荐(0)