2019年12月14日
摘要: __new__ : 控制对象的实例化过程 , 在__init__方法之前调用 __init__ : 对象实例化对象进行属性设置 class User: def __new__(cls, *args, **kwargs): """控制对象的创建的过程,在__init__方法之前调用""" print( 阅读全文
posted @ 2019-12-14 23:49 显示账号 阅读(144) 评论(0) 推荐(0) 编辑
摘要: from datetime import date """ __getattr__ : 在查找不到对象的属性时调用 __getattribute__ : 在查找属性之前调用(一般都不要覆写) 所以,访问的属性的调用顺序是: __getattribute__ > 对象属性 > __getattr__ 阅读全文
posted @ 2019-12-14 23:11 显示账号 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,@property就是一个跟属性相关的装饰器, 使用了它之后,取值和赋值操作都变得简洁 from datetime import date, datetime class User: def __init__(self, name, birthday): self.name = name 阅读全文
posted @ 2019-12-14 22:58 显示账号 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 请看下面代码 class User: def __init__(self, name, hobby=[]): self.name = name self.hobby = hobby def add_hobby(self, hobby): self.hobby.append(hobby) def re 阅读全文
posted @ 2019-12-14 22:38 显示账号 阅读(484) 评论(0) 推荐(0) 编辑
摘要: ChainMap是dict的子类,拥有dict的所有功能, 感觉用它的地方吧??? from collections import ChainMap """ 相当于join两个dict的操作 """ # 示例1 dict1 = {"a": 1, "b": 2} dict2 = {"c": 3, "d 阅读全文
posted @ 2019-12-14 12:42 显示账号 阅读(450) 评论(0) 推荐(0) 编辑
摘要: Counter是dict的子类,一般用于统计,默认排序是从大到小 from collections import Counter # 输入iterable对象即可 str_counter = Counter('dgwjgdsjgdjksgdsjgdgshfdsghfd') # 直接统计出结果,吊了一 阅读全文
posted @ 2019-12-14 12:16 显示账号 阅读(556) 评论(0) 推荐(0) 编辑
摘要: deque 是python提供的一个数据结构,线程安全,功能比list强大 from collections import deque user_list = ['admin', 'root'] user = user_list.pop() # 弹出list尾部的元素, list没有提供操作头部的方 阅读全文
posted @ 2019-12-14 12:01 显示账号 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 先看一个需求 from collections import defaultdict """ 需求: 统计user_list中字母出现的次数 """ user_dict = {} user_list = ['A', 'B', 'C', 'A', 'C', 'C'] # 第一种方式 for item 阅读全文
posted @ 2019-12-14 11:26 显示账号 阅读(831) 评论(0) 推荐(0) 编辑
摘要: """ factory function for creating tuple subclasses with named fields namedtuple 是tuple的子类, 在tuple的基础上增添了许多功能, 最主要是可以把它看成一个类来使用 """ from collections im 阅读全文
posted @ 2019-12-14 11:00 显示账号 阅读(197) 评论(0) 推荐(0) 编辑