Day07 学习笔记

面向对象基础

  • 类与实例:使用 class 定义;通过构造函数 __init__(self, ...) 初始化实例属性。
  • 类变量与实例变量:
    • 类变量在所有实例间共享,如计数 empCount;通过 ClassName.var 或实例方法内部引用。
    • 实例变量绑定在 self 上,如 self.nameself.salary
  • 常用内置属性:__doc__ 文档字符串、__dict__ 属性字典等。
  • 方法调用:通过实例调用实例方法,方法内部可访问类变量与实例变量。

构造与析构

  • 构造函数:__init__ 在实例化时自动执行,用于设置初始状态。
  • 析构函数:__del__ 在对象被销毁时触发(由解释器的垃圾回收决定时机),可用于资源清理的演示。
  • 引用计数:多个变量指向同一实例时,对象在所有引用释放后才会被回收。

继承与方法重写

  • 单继承:class Child(Parent): ... 自动获得父类属性与方法。
  • 调用父类构造:在子类 __init__ 中显式调用父类构造,如 Parent.__init__(self, ...)
  • 访问/修改父类属性:通过父类名调用方法或直接访问类属性,如 Parent.setAttr(self, 200)
  • 方法重写:子类定义与父类同名方法以覆盖原实现,按照“就近原则”调用子类实现。

访问控制与私有成员

  • 私有变量与方法:以双下划线开头(如 __secretCount__count)触发名称改写(name mangling),仅在类内部可直接访问。
  • 公共类变量:普通名称(如 publicCount)对所有实例与类可见,可在方法内累加。

正则解析与数据入库流程

  • 日志字段提取要点:
    • 时间:匹配 YYYY-M-D H:M:S 模式。
    • IP/端口:使用正则查找带键名的片段(如 src=...sport=...dst=...dport=...)。
    • 计数类字段:revdsent 提取为整数。
  • 典型实现:按行读取 → 使用正则(含前瞻/后顾)提取字段 → 组织 SQL → 执行插入并提交;异常时回滚;完毕关闭游标与连接。

套接字编程(TCP)

  • 服务端:
    • 创建套接字:socket.socket(AF_INET, SOCK_STREAM)
    • 绑定与监听:bind((host, port))listen(backlog)
    • 接收连接:循环 accept() 返回 (conn, addr),使用 conn.send(...) 发送数据,结束后 conn.close()
  • 客户端:
    • 创建套接字并连接:connect((host, port))
    • 接收数据:recv(bufsize),完成后 close()

Day07 学习笔记
https://blog.pangcy.cn/2018/10/21/后端编程相关/python/python2基础/Day07 学习笔记/
作者
子洋
发布于
2018年10月21日
许可协议