随笔分类 -  Python关键点笔记

摘要:0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon、mkvirtualenv等命令进行虚拟环境切换,很是愉快。 然而,最近想让项目能兼容更多的Python版本,例如至少同时兼容Python2.7和Py 阅读全文
posted @ 2019-04-11 10:17 时光飞逝,逝者如斯 阅读(378) 评论(0) 推荐(0) 编辑
摘要:0x00 前言 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规范,从这个角度来看,在以后我们学习设计模式的时候,对设计模式的理解会很有帮助。其次,语言中类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如 阅读全文
posted @ 2018-08-08 19:32 时光飞逝,逝者如斯 阅读(511) 评论(0) 推荐(0) 编辑
摘要:0x00 概述 编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(appli 阅读全文
posted @ 2018-07-31 19:19 时光飞逝,逝者如斯 阅读(458) 评论(0) 推荐(0) 编辑
摘要:参考地址 目录 Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的解释器种类以及相关特点? 6:位和字节的关系 7:b、B、KB、MB、GB的关系 8:PE 阅读全文
posted @ 2018-07-31 16:16 时光飞逝,逝者如斯 阅读(8612) 评论(1) 推荐(15) 编辑
摘要:知乎上看到的提问: 下面是jeff kit的回答: 给别人讲解过很多次,但写成文字是第一次。试一试吧,自己主要也是看了这篇文章(Python Types and Objects)才懂的。object 和 type的关系很像鸡和蛋的关系,先有object还是先有type没法说,obejct和type是 阅读全文
posted @ 2018-07-24 23:03 时光飞逝,逝者如斯 阅读(437) 评论(0) 推荐(0) 编辑
摘要:0x00 前言 def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') def f4(): print('f4') a = 1 test.py import test as ss ss.f1() ss.f2() print( 阅读全文
posted @ 2018-07-24 21:01 时光飞逝,逝者如斯 阅读(392) 评论(0) 推荐(0) 编辑
摘要:在解析socketserver是如工作之前,我们先看看socektserver类的继承关系图: 请求类继承关系: server类继承关系: 有了上面的继承关系图后,我们解析socketserver就轻松多了,下面,我们从代码开始,慢慢揭开socketserver面纱: import socketse 阅读全文
posted @ 2018-07-05 00:08 时光飞逝,逝者如斯 阅读(1436) 评论(0) 推荐(0) 编辑
摘要:这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简单说, super函数是调用下一个父类(超类)并返回该父类实例的方法. 这里的下一个的概念参考后面的MRO表介绍. help介绍如下: 由此可知, super有三种用法, 第一参数总 阅读全文
posted @ 2018-06-20 17:01 时光飞逝,逝者如斯 阅读(466) 评论(0) 推荐(0) 编辑
摘要:我们最常见的,可以说几乎唯一能见到的使用super的形式是: 其中,最常见的method()是__init__() 以前做过Java,刚刚接触Python的继承,的确感觉有点奇怪,有时候还能搞混。。。当然这还是因为Java是单继承,只能用接口实现类似多继承的方式,而Python就直接支持多继承。 当 阅读全文
posted @ 2018-06-20 15:06 时光飞逝,逝者如斯 阅读(753) 评论(0) 推荐(1) 编辑
摘要:python 的 super 是一个函数,需要两个参数,第一个参数是类,第二个参数是实例,返回值是一个类对象。 其意义是:站在参数2这个实例的角度看去, 参数1这个类的‘父亲’是谁,把‘父亲’返回。 详情见这里。 Java 的 super 是一个引用,即一个指针,它指向的是本类内部的那个父类对象。 阅读全文
posted @ 2018-06-20 14:46 时光飞逝,逝者如斯 阅读(268) 评论(0) 推荐(0) 编辑
摘要:python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射) 一、getattr 对象获取 类获取 输出如下: 二、setattr 设置类属性、方法 输出如下: 设置对象属性、方法 输出如下: 三、模块反射 创建一个模块mokuai.py 然后 阅读全文
posted @ 2018-06-19 21:06 时光飞逝,逝者如斯 阅读(516) 评论(0) 推荐(0) 编辑
摘要:1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语 阅读全文
posted @ 2018-06-19 19:51 时光飞逝,逝者如斯 阅读(470) 评论(0) 推荐(0) 编辑
摘要:容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论它的作用和用法。 我们将讨论的是: defaultdict counter deque namedtuple enum.Enum (包含在Python 3.4以上) defau 阅读全文
posted @ 2018-06-12 22:18 时光飞逝,逝者如斯 阅读(581) 评论(0) 推荐(0) 编辑
摘要:集合推导式 集合推导式(set comprehensions)跟列表推导式也是类似的, 唯一的区别在于它们使用大括号{}表示。 集合解析把列表解析中的中括号变成大括号,返回集合。 下面我们来个应用场景,一直一个列表中有很多元素,我们做到快速去重。 集合推导式生成内容,结果要是可hash的: 字典推导 阅读全文
posted @ 2018-06-12 21:12 时光飞逝,逝者如斯 阅读(201) 评论(0) 推荐(0) 编辑
摘要:首先说明一下生成器也是迭代器,也有迭代器的那些优点。 那为什么要生成器呢?因为到目前为止都 不是你写的迭代器,都是别人定义好的。那如何自己去造一个迭代器呢?下面的内容就会给你答案。 想要自己造一个迭代器,我们可以根据迭代器的特征(只要一个对象有__iter__和__next__方法那它就是迭代器), 阅读全文
posted @ 2018-06-11 20:09 时光飞逝,逝者如斯 阅读(717) 评论(0) 推荐(0) 编辑
摘要:要理解迭代器,首先要从字面意思来说。 迭代 软件开发就是典型的迭代更新。 讲迭代,我们就先来模拟一下迭代: 现在让我们使用while循环来遍历出一个列表list1 = [1, 2, 3, 4, 5]里面的所有元素。 接下来用for循环来: 很显然,上面两种方式都能实现遍历一个列表里面的所有元素。但是 阅读全文
posted @ 2018-06-11 19:10 时光飞逝,逝者如斯 阅读(914) 评论(0) 推荐(0) 编辑
摘要:一、Python正则表达式re模块简介 正则表达式,是一门相对通用的语言。简单说就是:用一系列的规则语法,去匹配,查找,替换等操作字符串,以达到对应的目的;此套规则,就是所谓的正则表达式。各个语言都有各自正则表达式的内置模块,包括Linux系统中sed、awk也都是使用正则表达式。当然Python中 阅读全文
posted @ 2018-06-07 20:24 时光飞逝,逝者如斯 阅读(323) 评论(0) 推荐(0) 编辑
摘要:面向对象的设计思想是从自然界中来的,因为在自然界中,类(Class)和实例(Instance)的概念是很自然的。Class是一种抽象概念,比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa 阅读全文
posted @ 2018-06-06 19:31 时光飞逝,逝者如斯 阅读(3967) 评论(0) 推荐(3) 编辑
摘要:看下面的例子就明白了 __repr__和__str__这两个方法都是用于显示的,__str__是面向用户的,而__repr__面向程序员。 打印操作会首先尝试__str__和str内置函数(print运行的内部等价形式),它通常应该返回一个友好的显示。 __repr__用于所有其他的环境中:用于交互 阅读全文
posted @ 2018-06-06 18:36 时光飞逝,逝者如斯 阅读(275) 评论(0) 推荐(0) 编辑
摘要:文档 地址 functools.partial 作用: functools.partial 通过包装手法,允许我们 "重新定义" 函数签名 用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待 冻结部分函数位置函数或关键字参数,简化函数,更少更灵活的函数参数调用 #ar 阅读全文
posted @ 2018-06-05 21:16 时光飞逝,逝者如斯 阅读(365) 评论(0) 推荐(0) 编辑