随笔分类 - python高效进阶编程
万事基础为重,否则为空中楼阁
摘要:Class也是Object 在理解metaclass之前,我们需要先理解Python中的class。从某种程度上来说,Python中的class的定位比较特殊。 对于大部分面向对象语言来说,class是一段定义了如何产生object的代码块。在Python中这一定义也成立: >>> class ex
阅读全文
摘要:1 class Test(object): 2 @property 3 def test(self): 4 return 100 5 6 @test.setter 7 def test(self): 8 return "修改" 9 10 @test.deleter 11 def test(se...
阅读全文
摘要:注 :带参数装饰器,在原有闭包的前提下,再加一层
阅读全文
摘要:1 # -*- coding: utf-8 -*- 2 # @Time : 2019-07-17 1:39 3 # @File : 网络socket实现http服务器.py 4 # @Software: PyCharm 5 6 import socket 7 import re 8 9 10 def server_conn(conn,file_name): 11 ...
阅读全文
摘要:生而为人,出生你无法选择,人生你可以 面临毕业,面临就业,面对21岁的自己, 编程思想来源于生活 1.组块 大任务化小块,小块任务个个击破,饭还是得一口口的吃 2.自信心 bug千万种,try try try 3.改变对自己的定义 不如换个方向看问题 4.高阶思维 生活不止眼前的bug,还有未知的b
阅读全文
摘要:# 案例: ''' 某网络游戏中,定义了玩家类Player(id,name,status) 每当有一个玩家,就会在服务器创建一个Player实例 当在线人数过多时,将产生大量实例(百万级别),消耗内存 如何降低这些实例的大量实例的内存开销? 解决方案:定义类的 __slots__属性,它是用来声明实例属性名字的列表 ''' class Player(object): __slot...
阅读全文
摘要:参照:https://my.oschina.net/liuyuantao/blog/747164
阅读全文
摘要:# 需求 # 某项目中,我们从传感器中采集数据,没采集1G数据后,做数据分析,最终只保存分析结果 # 这样很大的临时文件如果常驻在内存,将消耗大量地内存资源,我们可以使用临时文件储存(外部储存) # 优点 : 临时文件不需要命名,且关闭后自动删除 # 解决方案: 使用标准库中tempfile下的TempporaryFile和NameTempporaryFile from tempfile im...
阅读全文
摘要:# 注释 将文件写入硬件设备时,使用系统调用,这类I/O操作一般时间很长 # 为了减少I/O次数操作,文件通常使用缓冲区(有足够的数据才进行系统调用) # 文件缓冲行为分为: # 全缓冲: open函数的buffering设置为大于1的整数n,n为缓冲区大小 # 行缓冲: open函数的buffering设置为1,只要遇到\n就输出 一般用于终端程序 # 无缓冲: open函数的bufferi...
阅读全文
摘要:# 统计词频 from random import randint from collections import Counter date = [randint(1, 10) for x in range(1, 21)] # date1 = {k:randint(1,50) for k in range(20)} # 随机生成20个元素的字典 print(date) c = Count...
阅读全文
摘要:from random import randint a = [randint(-10, 10) for _ in range(10)] # -10 -- 10 随机生成长度为10的列表 # print(a) # 赛选出正数 # 方案一: # 速度最慢 z_list = [] for i in a: if i >= 0: z_list.append(i) print(...
阅读全文