美文网首页
Python简直要上天

Python简直要上天

作者: 鸡大 | 来源:发表于2016-09-24 10:04 被阅读0次

    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舍入,%表示编程课本上的求余

    一个奇怪的bug

    • print输出一和十会乱码,但是用print随便输出点其他中文,就输出正常了。。。
    • 好吧,komodo 输出窗口的锅,cmd没问题

    Json

    • 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格式的文件

    obj.__dict__

    • 获取对象的属性,也就是用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简直要上天

          本文链接:https://www.haomeiwen.com/subject/imyrettx.html