Python简直要上天
L[-1]
- 倒着取元素,右对齐取值,下标为-1表示取最后一个
- 配合切片:
L[n1:n2:n3] #起:止:方向*跨度,方向为负表示倒着变绿遍历(--i)
- python str默认编码是unicode
- print函数直接打印gbk字符串报错
- 利用webDriver不用担心,它会解析,dirver.page_source就是源码
- urllib这类返回字节的需要对应页面的charset 去decode,然而可怕的是gb2312的页面调用decode('gb2312')会转换失败,decode('gbk’)就可以,
大概看脸,子集问题 - I/O操作也要指定编码
- re.compile(pattern)生成一个RegexObject()对象,再调用findall方法,直接re.match('pattern',)少量数据好像还好,数据一长♂,就匹配失败了,
对因为确定pattern正确,match失败以为是编码乱码造成的然后跑去encode/decode了半天
- python的/是浮点除,整除符号是//,python的整除是向下(负无穷)舍入,so Python中的%表示求模,而其他C语言家族(C++,C#)是向0舍入,%表示编程课本上的求余
- print输出一和十会乱码,但是用print随便输出点其他中文,就输出正常了。。。
- 好吧,komodo 输出窗口的锅,cmd没问题
- Python中的list[]对应Json中的array[],dict{}对应Object{},刚好符号一致,而C#的list对应Object{},so,这两种语言通信时要注意,
不好像是C#比较特殊来的? - json.dumps(sort_key=True)可以对无序字典进行排序
- Python的json模块可以处理内置数据(list,dict,
元组不会拼),对于自定义类,想格式化成json格式需要将实例转换为字典{},d={} d.update(obj.__dict__) json.dumps(d) - json格式字符串转化为实例,需要先json.loads(s)转化为dict,然后调用类的构造函数,↓下面那条第三点
- json.load(open('xx.json),'r')和json.dump(open('xx.json','w'))可以直接读写json格式的文件
- 获取对象的属性,也就是用self修饰的实例属性
- __init__函数里self.__dict__.update(obj)会复制obj(一般是个dict)的所有内容给self实例 ,简直就是拷贝构造函数一样的存在
- 当然也可以Class(**obj)这样来构建新对象,用于json之类的键值对格式格外爽
- 可变参数*
- 形参使用*修饰表示该参数接受一组任意长度的数据, 函数里实际接收的数据是一个list或是一个tuple
- 实参前添加*表示将list或tuple的每个值按顺序传入形参位置
- 关键字参数**
- 接受一组dict(键值对)形式的参数,会将与key对应的value赋给同名形参,无序(字典本身就是无序的)
- 上一条使用**obj作为参数的构造函数就是很好的体现,
这条和上条和上上条其实是有联系的对不对
- '\r',将光标移到行首(\n是下一行,print()函数默认添加了\n)
- sys.stdout.write()对将要输出的内容不添加任何结尾符,再调用sys.stdout.flush()将输出内容暂存在控制台
- 或者直接print('xxxx',end='\r')
- '\b',退格,删除前面打印的内容,没什么好说的
- 下载进度:
request.urlretrieve(url,file,hook),其中hook的参数为已下载数据块a,数据块大小b,远程文件大小c,per=a*b*100/c - 在资源管理器中打开
os.system('explorer/select,%s'% path)
推荐阅读
- 我要做大厨
- 这辈子我们都不要再联系了
- 眼光要放高远
- 我们重新了解付费。
- python学习之|python学习之 实现QQ自动发送消息
- 我要我们在一起(二)
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 逻辑回归的理解与python示例
- 我执意要等,是因为我相信你一定会来
- 老了的父母