• 笔记(assert 断言)


    并发:在同一个时间段交替执行多个任务
    并行:在同一个时间点同时执行多个任务
    串行:同时执行的多个任务按顺序执行(换句话说就是一个任务执行完后才能执行下一个任务)

    #mysql limit用法: select * from table limit m,n;
    m表示第m+1条数据起(因为索引是从零开始的)
    n表示n行记录
    eg:
    当指定了位置偏移量时,从第3条起取4条时,可以这样写*/
    因为索引是从0开始计数的,所以第3条对应的索引就是2*/
    SELECT * FROM YourTableName LIMIT 2,4;

    Phthon常见的算法:
    选择排序:
    先选出列表中最小数n,放到一个空列表起始位置,然后再到剩余元素中查找最小的数放到n的后面,以此类推。
    快速排序:
    先选出列表中起始位置的数n,然后将列表中比n小的数放前面,比n大的数放后面,以递归的形式返回。
    二分查找:
    首先定义列表的第一个元素位置start=0和结束位置len(list)-1,当初始位置start小于或等于结束位置end时,
    获取中间元素的位置mid=(start + end )// 2,然后用中间位置的mid元素与需要查找的num元素进行比较,
    如果num>list[mid],则说明num在mid后面,那么起始位置向后移一位,即:start = mid +1,
    如果num<list[mid],则说明num在mid前面,那么结束位置向前移一位,即:end = mid - 1,
    如果num == list[mid],则说明num在列表list中的位置为mid,以此循环。
    否则列表list中不存在num

    Python垃圾回收机制:
    1、引用计数:就是变量值被变量名关联的次数。n='xm' n=m,n和m就是变量名,‘xm’就是变量值
    缺点: 循环引用(交叉引用):当一个对象与另一个相互引用时,就会导致变量值的引用计算无法为零
    2、标记-清除:当有效的内存空间被耗尽时,就会停止整个程序,然后进行标记和清除两项工作
    内存中有两块区域:一个是堆区(变量值存放区域),一个是栈区(变量名存在区域),内存管理回收的则是堆区内容。
    标记:遍历所有栈区的内容,然后将直接或者间接访问的对象标记为存活对象。
    清除:遍历所有堆区的内容,将没有标记的对象全部清除。
    3、分代回收:采用空间换时间的策略,依然是使用引用计数作为回收依据
    思想:在多次扫描的情况下,都没有被回收的变量,gc回收就会认为该变量是常用变量,就会降低对其的扫描频率。

    def foo(s):
        n = int(s)
        assert n != 0,'n is zero'  #如果n!=0为False就抛出后面的字符串
        return 10 / n
    
    print foo('0')
  • 相关阅读:
    牛客-小V和gcd树
    CF-Codeforces Round #639 (Div. 2)-D-Monopole Magnets
    牛客-牛牛染颜色
    CF-637
    提高办公效率——快捷键
    FusionComputer虚拟机克隆后出现网卡服务重启失败解决办法
    centos7.5mini中Firewalld端口不通解决办法及想法
    FusionConputer热迁移过程记录
    Java集合框架之Iterable接口
    初识Java集合框架
  • 原文地址:https://www.cnblogs.com/cz-basic/p/10475045.html
Copyright © 2020-2023  润新知