
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)
