image.png

    python基础

    数据读取到内存使用unicode编码,展示网页或写回磁盘使用的是utf-8,gbk等等

    r’string’表示原始字符串

    str的find和index方法相似,区别是index字符不存在的时候会报错,find不会

    isdigit和isdecimal的区别在于,byte对象无isdigit方法,使用会报错,isnumeric更通用,支持罗马数字和汉字,但三者都不支持小数

    ljust,rjust,center填充空格,zfill右对齐左边填充0

    swapcase反转字符串大小写

    extend(list2)将list2中的元素添加到当前list末尾
    ‘+’连接两个list
    copy复制list

    ‘+’连接两个tupple
    初始化后不能修改

    get返回key对应的value
    items返回(key,value)的元组
    setdefault(k,v)有get功能,如果key不存在将返回v,并将(k,v)存到dict中
    update(dict1)通过dict1更新当前dict
    popitem随机返回并删除字典中键值对
    pop(key,default)删除key对应的entry,如果不存在返回default
    key in dict判断key是否存在

    discard和remove,如果元素不存在,remove会报错,discard不会
    pop随机删除元素
    difference[update]求差集,带update同时更新
    intersection[update]求交集,带update同时更新
    symmetricdifference[update]求两集合不重合的元素集
    isdisjoint判断两个集合是否没有交集
    issubset和issuperset判断是否父子集
    update(set)将set中元素添加到当前集合

    from collections import deque
    list是线性结构,访问较快,插入和删除元素较慢,deque较快
    namedtuple
    defaultdict:d=defaultdict(lambda:’defaultstr’)
    OrderedDict: 会按照插入的顺序排列,不是Key本身顺序popitem(last=False)可以删除最前面的元素
    Counter

    dumps将dict(json对象)转换为json字符串
    loads将json字符串转为json对象
    dump(dict,f),load(f)写文件和读文件

    位置参数:addargument(‘argname’,help=”msg”,type=int)
    可选参数:addargument(‘—argname’,help……(同上),choices=1,2,3)使用if args.argname判断是否录入可选参数
    group=parse.add_mutually_exclusive_group() 然后group.add_argument可以添加互斥参数
    参数有action属性,count,store_true等

    函数的参数
    普通参数,即在调用函数时必须按照准确的顺序来进行参数传递。
    默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无法解析)。
    元组参数,即 args,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后。
    字典参数,即 *
    kwargs,参数格式化存储在一个字典中,必须位于参数列表的最后面。

    文件中__file
    属性是当前文件的绝对路径

    普通方法,@classmethod方法,@staticmethod方法的区别:
    https://www.cnblogs.com/elie/p/5876210.html

    python3.7 -m pip install pip

    pip freeze > requirements.txt
    将解释器中的依赖导出

    定义函数是’’’ ‘’’包围的注释在help(函数名)时会打印出来,用于对函数作说明,而#注释则不会

    dataclass模块可以使用注解的方式定义类
    自动实现__init
    、__repr
    、__eq
    方法
    @dataclass
    class Lang:
    name:str=’python’
    type:bool=True
    age:int=20
    Lang()就生成了一个带有上述参数的对象

    写csv文件一定要使用csv模块
    import csv
    with open(file,’w+’) as fd:
    writer=csv.writer(fd)#quoting参数可以指定是否对字段加引号
    writer.writerow()#或可以writerows,参数为字符串list

    _name:建议性的私有成员,建议不要在外部访问(protect)
    name:强制性的私有成员,一定不要在外部访问(有办法访问,private)
    name
    :特殊成员
    name:普通成员(public)

    all()判断iterable中所有元素是否为TRUE
    any()判断iterable中是否至少有一个是否为TRUE

    文件读写模式


    命名分组:
    from collections import namedtuple
    pr=namedtuple(‘Point’,[‘x’,’y’])
    p1=pr(2.3,5.6)
    p2=pr(y=2.3,x=5.6)