随笔- 454
文章- 302
评论- 28
阅读-
65万
文章分类 - python
Python的列表推导式
摘要:1.列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 结果: [1, 4, 9, 16, 25, 36, 49, 64, 81][36, 49, 64, 81]{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6
阅读全文
python中的序列(sequence)
摘要:python中的序列 可变序列 list、bytearray、array.array、collections.deque 和 memoryview。 不可变序列 tuple、str 和 bytes。 序列图 箭头指向的是父类,从图中可以看出: 1. 序列是可迭代的,继承了__iter__的方法,在系
阅读全文
python数组array.array
摘要:关于array: Python 本身没有数组这个说法, 有的就是list和tuple, list就具有其他语言中的数组特性. 至于list和tuple的区别,在于list可以在运行时修改内容和大小,tuple在首次创建和赋值后, 不可以再次修改内部的内容 不过python 有提供一个array模块,
阅读全文
bisect管理已排序的序列
摘要:import bisect L = [1,3,3,5,7,9] x = 30 ##在L中查找x,x存在时返回x左侧的位置 x不存在返回应该插入的位置 x_insert_point = bisect.bisect_left(L,x) print(x_insert_point) #在L中查找x,x存在时返回x右侧的位置,x不存在返回应该插入的位置 x_insert_point = bisect...
阅读全文
详解Python中的__getitem__方法与slice对象的切片操作
摘要:1 import numbers 2 from collections import abc 3 class Group: 4 #支持切片操作 5 def __init__(self, group_name, company_name, staffs): 6 self.group_name = group_name 7 self.co...
阅读全文
python切片
摘要:1 #模式[start:end:step] 2 """ 3 其中,第一个数字start表示切片开始位置,默认为0; 4 第二个数字end表示切片截止(但不包含)位置(默认为列表长度); 5 第三个数字step表示切片的步长(默认为1)。 6 当start为0时可以省略,当end为列表长度时可以省略, 7 当step为1时可以省略,并且省略步长...
阅读全文
Python魔法方法之描述符
摘要:一般来说,描述符是一个具有绑定行为的对象属性,其属性的访问被描述符协议方法覆写。这些方法是__get__()、 __set__()和__delete__(),一个对象中只要包含了这三个方法,就称它为描述符。 属性访问的默认行为是从一个对象的字典中获取 (get)、设置 (set)、删除 (delet
阅读全文
with上下文管理协议以及contextlib
摘要:1 #try except finally 2 def exe_try(): 3 try: 4 print ("code started") 5 raise KeyError 6 return 1 7 except KeyError as e: 8 print ("key error") 9 ...
阅读全文
super真的是调用父类吗
摘要:(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)DBCA
阅读全文
python对象的自省机制
摘要:['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__
阅读全文
数据封装和私有属性
摘要:from class_method import Date class User: def __init__(self, birthday): self.__birthday = birthday def get_age(self): #返回年龄 return 2018 - self.__birthday.year if __...
阅读全文
python中类方法、类实例方法、静态方法的使用与区别
摘要:实例方法,类方法,静态方法都可以通过实例或者类调用,只不过实例方法通过类调用时需要传递实例的引用(python 3可以传递任意对象,其他版本会报错)。 三种方法从不同层次上来对方法进行了描述:实例方法针对的是实例,类方法针对的是类,他们都可以继承和重新定义,而静态方法则不能继承,可以认为是全局函数。
阅读全文
4-6 类和实例属性的查找顺序—mro查找
摘要:(<class '__main__.A'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.D'>, <class 'object'>)
阅读全文
python的type和isinstance的区别
摘要:描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 type() 不会认为子类
阅读全文
python鸭子类型(多态)抽象基类(abc模块)
摘要:什么是多态 多态,按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。 多态的目的:就是指不同的对象的,同状态下的,做出的不同表现形式 python中的鸭子类型 python中没有多态,但是可以用鸭子类型实现多态。 鸭子类型主要原因:python中参数是无类型的 ini
阅读全文
Python中常见的内置类型
摘要:对象的三个特征 None(全局只有一个) 数值: int float complex(复数) bool list bytes、bytearray、memoryview(二进制序列) range tuple str array set frozenset 模块类型 class和实例 函数类型 方法类型
阅读全文
魔法函数
摘要:1:非数学运算 字符串表示: __repr__ __str__ 集合,序列相关: __len__ __getitem__ __setitem__ __delitem__ __contains__ 迭代相关: __iter__ __next__ 可调用: __call__ 上下文管理: __enter
阅读全文
python并发编程之IO模型
摘要:了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。按照这个定义,其实绝大多数函数都是同步调用。但是一般而言,我们在说同步、异步的时候,特
阅读全文
事件驱动模型 select poll epoll
摘要:事件驱动模型 协程:遇到IO操作就切换。 但什么时候切回去呢?怎么确定IO操作完了? 传统的编程是如下线性模式的: 开始 >代码块A >代码块B >代码块C >代码块D >...... >结束 每一个代码块里是完成各种各样事情的代码,但编程者知道代码块A,B,C,D...的执行顺序,唯一能够改变这个
阅读全文
C10K问题及解决方案
摘要:1 C10K问题 大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已经算是大型应用了。所以并不存在什么C10K的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,
阅读全文