随笔分类 - python进阶
摘要:python基础 python-cookbook: https://python3-cookbook.readthedocs.io/zh_CN/latest/c01/p13_sort_list_of_dicts_by_key.html python进阶 python文档 中文文档 grpc教程 gr
阅读全文
摘要:引言 我们都知道,在Python的类中,__dict__保存了一个对象所有的属性,如下面的例子,我们建立了一个Circle的对象,对象的字典中保存着半径radius 这个k-v值: class Circle(object): def __init__(self,radius): self.radiu
阅读全文
摘要:map map除了地图之外,另一个英文本意是映射。在C++和Java一些语言当中,将map进一步引申成了存储key和value映射结构的容器。Python对这点做了区分,KV结构的容器命名成了dict,即字典,而map则回到了它的本意,也就是映射。 我们都知道,在数学领域,映射也是函数的定义。一个自
阅读全文
摘要:这可能是 Python 面向对象编程的最佳实践 Python 是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了或者某一对象非常复杂了,其中的一些写法会相当相当繁琐,而且我们会经常碰到对象和 JSON 序列化及反序列化的问题,原生的 Python
阅读全文
摘要:从一段指定的字符串中,取得期望的数据,正常人都会想到正则表达式吧? 写过正则表达式的人都知道,正则表达式入门不难,写起来也容易。 但是正则表达式几乎没有可读性可言,维护起来,真的会让人抓狂,别以为这段正则是你写的就可以驾驭它,过个一个月你可能就不认识它了。 完全可以说,天下苦正则久矣。 今天给你介绍
阅读全文
摘要:python之prettytable模块 python的prettytable模块可以让我们更加清晰的将数据记录格式化打印出来,今天简单看下这个模块的使用方法。 注意:使用前需要引入包 from prettytable import PrettyTable from prettytable impo
阅读全文
摘要:使用类型注解让 Python 代码更易读 我们知道 Python 是一种动态语言,在声明一个变量时我们不需要显式地声明它的类型,例如下面的例子: a = 2 print('1 + a =', 1 + a) 运行结果: 1 + a = 3 这里我们首先声明了一个变量 a,并将其赋值为了 2,然后将最后
阅读全文
摘要:Python好用的三方库 Python使用environs库来更好地定义环境变量 https://www.cnblogs.com/lianhaifeng/p/13842823.html 使用typing库类型注解让Python代码更易读 https://www.cnblogs.com/lianhai
阅读全文
摘要:在运行一个项目的时候,我们经常会遇到设置不同环境的需求,如设置是开发环境、测试环境还是生产环境,或者在某些设置里面可能还需要设置一些变量开关,如设置调试开关、日志开关、功能开关等等。 这些变量其实就是在项目运行时我们给项目设置的一些参数。这些参数一般情况来说,可以有两种设置方法,一种是通过命令行参数
阅读全文
摘要:第十一章:Python高级编程-协程和异步IO Python3高级核心技术97讲 笔记 目录 第十一章:Python高级编程-协程和异步IO 11.1 并发、并行、同步、异步、阻塞、非阻塞 11.2 C10K问题和IO多路复用(select、poll、epoll) 11.2.1 C10K问题 11.
阅读全文
摘要:第十章:Python高级编程-多线程、多进程和线程池编程 Python3高级核心技术97讲 笔记 目录 第十章:Python高级编程-多线程、多进程和线程池编程 10.1 Python中的GIL 10.2 多线程编程-threading 10.3 线程间通信-共享变量和Queue 10.4 线程同步
阅读全文
摘要:第九章:Python高级编程-Python socket编程 目录 第九章:Python高级编程-Python socket编程 9.1 弄懂HTTP、Socket、TCP这几个概念 9.2 client和server实现通信 9.3 socket模拟http请求 9.1 弄懂HTTP、Socket
阅读全文
摘要:python的list和tuple采用了顺序表的实现技术。 tupel是不变的表,因此不支持任何该表其内部状态的操作。在其他方面,他与list的性质相似。因此下面将集中关注list的情况。 list的基本实现技术 python的便准类型list就是一种元素个数可变的线性表,可以加入和删除元素,在各种
阅读全文
摘要:Python 内置方法和属性应用:反射和单例 前言 python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict、list、set、min、max、range、sorted等。 内置方法和函数介绍 enumerate 如果你需要遍历可迭代的对象,有需要获取它
阅读全文
摘要:第八章:Python高级编程-迭代器和生成器 Python3高级核心技术97讲 笔记 目录 第八章:Python高级编程-迭代器和生成器 8.1 Python中的迭代协议 8.2 什么是迭代器和可迭代对象 8.3 生成器函数的使用 8.4 Python是如何实现生成器的? 8.5 生成器在UserL
阅读全文
摘要:7.1 property动态属性 在面向对象编程中,我们一般把名词性的东西映射成属性,动词性的东西映射成方法。在python类中他们对应的分别是属性self.xxx和类方法。但有时我们需要的属性需要根据其他属性动态的计算,此时如果直接使用属性方法处理,会导致数据不同步。下面介绍@property方法
阅读全文
摘要:第六章:Python高级编程 对象引用、可变性和垃圾回收 6.1 Python中的变量是什么 在示例所示的交互式控制台中,无法使用“变量是盒子”做解释。下图说明了在 Python 中为什么不能使用盒子比喻,而便利贴则指出了变量的正确工作方式。 变量 a 和 b 引用同一个列表,而不是那个列表的副本
阅读全文
摘要:5.1 dict的abc继承关系 和list(Sequence)相似,都继承于Collection,添加了一些方法 from collections.abc import Mapping,MutableMapping # dict是属于Mapping类型的 a = {} print(type(a))
阅读全文
摘要:4.1 Python中的序列分类 4.1.1 容器序列 """ list tuple deque 可以放入任意类型的数据 """ 4.1.2 扁平序列 """ str bytes bytearray array.array 注意array与list的区别,array存放数据类型需一致,需指明存放什么
阅读全文
摘要:3.1 鸭子类型和多态 """ 当看到一直鸟走起来像鸭子、游泳起来像鸭子、叫起来像鸭子,那么这只鸟就可以被称为鸭子。 这句话看上去有趣,却不太容易理解。接下来用实例来说明。 """ ============ Demo1 start ============= class Cat(object): d
阅读全文