摘要: python中的垃圾回收采用计数算法 一个对象如果被引用N次,则需要N次(即计算引用次数为零时)执行del 才能回收此对象。 在函数和类中如果传递参数的时候,很有可能参数会做一些改变,一下为一个经典的坑: 代码解释:在因为com2没有指定list参数于是调用的默认参数。默认参数可以用print(Co 阅读全文
posted @ 2019-02-28 21:25 脱离低级趣味 阅读(330) 评论(0) 推荐(0)
摘要: 变量的存储 a = 'abc' 理解:①先在内存中生成一个字符串‘abc’ ②可以把比变量名a看做一个便利贴,然后将a贴到‘abc’中 ③注意顺序,是生成‘abc’,然后再创建a指向‘abc’ python的is 和==的区别 is用来判断两个对象的ID是否一样 上述代码中之所以a == b成立,是 阅读全文
posted @ 2019-02-28 17:42 脱离低级趣味 阅读(787) 评论(0) 推荐(0)
摘要: 在python的dict中间进行查找某个key操作时,查找所需时间不会随着dict中键值对数量增多而变长,(时间复杂度为O(1))但是list中就会(时间复杂度为O(N)),这是因为list查询实现的方式是循环遍历所有列表,然后查找对应的元素,所以列表中元素越多,查找越费时间,但是同一个dict中的 阅读全文
posted @ 2019-02-28 16:47 脱离低级趣味 阅读(4172) 评论(0) 推荐(0)
摘要: 列表推导式 含义:通过一行代码生成列表,列表生成式性能高于列表操作。如果代码逻辑不复杂情况下可以优先使用列表生成式。 提取1-21之间的偶数 a = [x for x in range(21) if x%2==0] 生成器表达式 a = (x for x in range(21) if x%2==0 阅读全文
posted @ 2019-02-28 11:38 脱离低级趣味 阅读(287) 评论(0) 推荐(0)
摘要: bisect.insort(序列,元素)用于向序列中添加元素,并实现序列中元素的自动排序。 bisect.bisect(序列, 元素) 用于做查找,即如果插入元素,返回该元素应该插入的位置。如果元素相等,默认插入相等元素的右边,如果想要插入相当元素的左边,可用bisect.bisect_left(序 阅读全文
posted @ 2019-02-28 10:59 脱离低级趣味 阅读(260) 评论(0) 推荐(0)
摘要: 创建一个可切片类 最后一行做调试如下: 类中因为实现了__getitem__()方法,可以看到对类的实例group对象切片操作之后,返回list类型的sub_group(),但是如果想使得切片之后的对象的话还是一个Group()则需要更改__getitem__()如何更改呢?我们需要了解其参数ite 阅读全文
posted @ 2019-02-28 10:35 脱离低级趣味 阅读(273) 评论(0) 推荐(0)