Python--基础22

GIL
    Python 3.x使用计时器(执行时间达到阈值后,当前线程释放GIL)或Python 2.x,tickets计数达到100

深拷贝、浅拷贝
    copy.copy对于可变类型,会进行浅拷贝,对于不可变类型,不会拷贝,仅仅是指向
    copy.deepcopy

私有化
    _x: 单前置下划线,私有化属性或方法,
            from somemodule import *禁止导入

    __xx:双前置下划线,避免与子类中的属性命名冲突
            名字重整,  (_Class__object)
    __xx__:双前后下划线,用户名字空间的
            魔法对象或属性

    xx_:单后置下划线,
            用于避免与Python关键词的冲突

sys.path

封装 继承 多态
    封装
        函数加变量封装到一起, 提供给每一个需求者一份函数(功能)+变量(数据)
        保护或者防止代码(数据)被我们无意中破坏
        代码复用
    继承
    多态
        同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果

实例方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。
    实例方法:由对象调用;至少一个self参数;执行实例方法时,自动将调用该方法的对象赋值给self;
    类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类赋值给cls;
    静态方法:由类调用;无默认参数;

property
    装饰器法
    类属性法
    私有属性的get和set方法

魔法方法
    __new__     __init__     __del__    __str__    __repr__
    __doc__     __name__     __module__ __class__  __call__
    __dict__
with 与上下文管理器
    任何实现了 __enter__() 和 __exit__() 方法的对象都可称之为上下文管理器,上下文管理器对象可以使用 with 关键字
    避免出现异常, close无法执行

mysql数据库
    库, 表, 数据
    增删改查
    sql语句的参数化,可以有效防止sql注入,  创建列表, 把参数放在列表里, 列表在传参
    pyton直接创建游标和数据库交互
        import pymysql
            conn = pymysql.connect(host='localhost', port=3306, user='root',
                                   password='mysql', database='ji', charset='utf8')
            csl = conn.cursor()
            count = csl.execute(sql)
            count # 受影响的行数
            csl.fetchone()  # 对应查询sql语句打印结果
            csl.fetchall()
            conn.commit()  # 默认开启事务
            csl.close()
            conn.close()
    视图
        create view 视图名称 as select语句;  #以v_开头最好   
        show tables
        select * from v_stu_score
        drop view v_stu_score
    事务
        原子性, 一致性, 隔离性, 持久性
        begin;
        commit;
        rollback;

扫描二维码关注公众号,回复: 2951017 查看本文章

    索引
        create index 索引名称 on 表名(字段名称(长度))
        show index from 表名;
        drop index 索引名称 on 表名;
    mysql主从配置
        主配置, 从配置
        冷备份
        热备份  从 > 主日志SHOW MASTER STATUS;
网络通信
    过程
        ip+子网掩码(区分网络号主机号)
        集线器
        路由器
        MAC地址: 网卡的序列号
        DNS 域名解析服务器
        默认网关
    NAT(网络地址转换器)
闭包-装饰器
    闭包
        函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包
    装饰器
        外层函数传入被装饰的函数引用func, 内部函数在调用的时传入参数*args, **kwargs
        内部函数包含的原来的函数执行接收参数*args,**kwargs
        当装饰器需要传入参数时, 装饰器外面在套一层函数接收函数
WSGI
        WSGI允许开发者将选择web框架和web服务器分开。
        可以混合匹配web服务器和web框架,选择一个适合的配对
miniweb
    WSGI接口
    路由的实现
一般URL分为静态URL、动态URL、伪静态URL
    静态URL, 每个网页有真实的物理路径,也就是真实存在服务器里的
            优点:打开速度快,网址结构比较友好,利于记忆
            中大型网站,则产生的页面特别多,不好管理
    动态URL, 带有?号的URL,我们一般称为动态网址,每个URL只是一个逻辑地址,
            优点:修改页面很方便,好管理
            缺点:打开速度稍慢,URL结构稍稍复杂,不利于记忆。
    伪静态URL
            优点:URL比较友好,利于记忆
            缺点:设置麻烦,服务器要支持重写规则
    epoll 
        epoll采用的是事件通知机制
            epoll = select.epoll()
            epoll.register(socket_tcp.fileno(), select.EPOLLIN|select.EPOLLET)
            while True:
                   # epoll 进行 fd 扫描的地方 -- 未指定超时时间则为阻塞等待
                epoll_list = epoll.poll()
                # 对事件进行判断
                for fd, events in epoll_list:
元类
    元类就是用来创建类的“东西”。
    元类就是类的类
    type就是Python在背后用来创建所有类的元类
ORM 即对象-关系映射
        创建一个实例对象,用创建它的类名当做数据表名,
        用创建它的类属性对应数据表的字段,
        当对这个实例对象操作时,能够对应MySQL语句
logging日志
    日志级别

猜你喜欢

转载自blog.csdn.net/SkyJianWei/article/details/82120295