1. 字符串:s.strip()  删除字符串开始和结尾的空白字符。 s.lstrip() 删除左边的,s.rstrip()  删除右边的。

  2. 随机数:random.random()  生成0-1之间的数。       random.randint(0,100) 生成0-100之间的整数。

  3. unicode文本标准化

      import unicodedata
    unicodedata.normalize(‘NFD’, s)
  4. 文件: with open() as f: with控制块结束时,文件会自动关闭。
          f = open(), f.close() 不使用with时,需手动关闭
             向文件追加内容,而不覆盖文件内容, 用at(ab)模式 or xt(xb)模式
             文件是否存在: os.path.exists('somefile')

  5. 字节字符串与十六进制之间的转换:

      import binascii
    s = b'hello'     
    h = binascii.b2a_hex(s)  
    binascii.a2b_hex(h)   import base64
    s = b'hello'
    h = base64.b16encode(s)
    base64.b16decode(h)
  6. struct模块 编码和解码二进制数据:
             <表示字节顺序低位开始, >表示从高位开始,i表示32位整数(4字节),d表示64位浮点数(8字节), f表示32位浮点数(4字节), !表示网络字节顺序

      from struct import Struct
    record = Struct('<idd')
    record.size #4+8+8 大小为20
    record.pack(1, 2.0, 3.0)
    record.unpack(_) # 另一种方法
    import struct
    struct.pack('<idd', 1, 2.0, 3.0)
    struct.unpack('<idd', _)
  7. id() 方法返回值是对象的内存地址。

  8. eval()  函数可以把string格式的对象转为引号内原来的类型。 例如: a = '123',  b=eval(a)  则b为int类型。

  9. yield: 生成器  对当前迭代进行操作,每次返回当前迭代的值.并没有把所有值放在内存中,动态地生成值.

  10. lambda表达式:   匿名函数,不需要def定义和return显式返回。

  11. 正则匹配手机号、邮箱:

      a = 'xxxx'
    p = re.compile('[^\._-][\w\.-]+@(?:[A-Za-z0-9]+\.)+[A-Za-z]+$|^1[3578]\d{9}$|^147\d{8}$')
    b = p.match(a)
    # [^\._-] 匹配不含. _ -等特殊字符
    # (?:pattern) 匹配不获取匹配结果
  12. 时间操作:

      # 北京时间:string类型
    a = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  
    # utc时间:date类型  
    b = datetime.datetime.utcnow()   
    # 加减时间:
    a+datetime.timedelta(hours=8)    # 加8小时
    a+datetime.timedelta(days=8) # 加8天
  13. 获取当月第一天日期:              

    1. datetime模块:

  14.   d = datetime.datetime.now()
    m = d.month
    y = d.year
    date = datetime.datetime(y, m, 1)

    2. time模块:

     import time
    a = time.localtime()
    end_time =str(datetime.datetime(get_time.tm_year,get_time.tm_mon,get_time.tm_mday, 23, 59, 59)) # 获取当前时间:年月日时分秒
    start_time = str(datetime.datetime(get_time.tm_year,get_time.tm_mon,1)) # 获取当月第一天日期
  15. 使用线程队列有一个要注意的问题是,向队列中添加数据项时并不会复制此数据项,线程间通信实际上是在线程间传递对象引用。如果你担心对象的共享状态,那你最好只传递不可修改的数据结构(如:整型、字符串或者元组)或者一个对象的深拷贝。 copy.deepcopy(data)

  16. Jquery获取当前时间:
     function currentTime() {
    var d = new Date(), str = '';
    str += d.getFullYear() + '年';
    // 月份、天数计算从0开始,需要加1
    str += d.getMonth() + 1 + '月';
    str += d.getDate() + 1 + '日';
    return str;
    }
  17. 多进程与多线程
    计算密集型程序,多进程并发优于多线程;IO密集型程序,多线程并发优于多进程
    multiprocessing.JoinableQueue, concurrent.futures.ProcessPoolExecutor(进程池) 是多进程安全的,不产生死锁

Python Cookbook笔记的更多相关文章

  1. Python Cookbook 笔记--12章并发编程

    <Python Cookbook(第3版)中文版> 1.队列queue的有些方法是线程不安全的,在多线程中最好别用 2.需要限制一段代码的并发访问量时,用信号量.不要把信号量当做普通的锁来 ...

  2. python cookbook 笔记一

    因为有些代码只有在python3里可以正常运行,所以最好配两个虚拟环境 安装虚拟环境: pip install virtualenv virtualenv -p /usr/bin/python3.5 ...

  3. python cookbook 笔记三

    分组: rows = [ {'address': '5412 N CLARK', 'date': '07/01/2012'}, {'address': '5148 N CLARK', 'date': ...

  4. python cookbook 笔记二

    去重和排序: #coding=utf-8 def dedupe(items): seen = set() for item in items: if item not in seen: yield i ...

  5. 《Python cookbook》 “定义一个属性可由用户修改的装饰器” 笔记

    看<Python cookbook>的时候,第9.5部分,"定义一个属性可由用户修改的装饰器",有个装饰器理解起来花了一些时间,做个笔记免得二刷这本书的时候忘了 完整代 ...

  6. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  7. python cookbook学习1

    python cookbook学习笔记 第一章 文本(1) 1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t ...

  8. Web Scraping with Python读书笔记及思考

    Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...

  9. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

随机推荐

  1. mwc config.h 中文注释

    #ifndef CONFIG_H_ #define CONFIG_H_ /*************************************************************** ...

  2. 面试题 HashMap 数据结构 实现原理

    数据结构 HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组:数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O ...

  3. JS判断图片是否加载完成三种方式

    1.img的complete属性 轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询.该属性所有浏览器都支持. <p id="p1"&g ...

  4. ASP.net关于C#代码与javaScript函数的相互调用

    C#代码与javaScript函数的相互调用 问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在 ...

  5. MYSQL数据库命名与其设计规范

    你是否对获得MYSQL数据库命名与其设计规范 的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得MYSQL数据库命名与其设计规范 的方案,以下就是相关 ...

  6. MSSQL 简单练习回顾

    这段时间,报了浦软培训的.NET,现在整理回顾下,算是个小小总结吧 为了便于操作,我没有在多个数据库间切换数据库实例,以一个总的数据库实例 test_demo为源进行的相关操作,代码的注释根据我的理解 ...

  7. JavaScript 客户端JavaScript之cookie和客户端持久性

    Document对象都有一个cookie属性,它使得JavaScript代码能够在用户的硬盘上持久地存储数据, 并且能够获取以这种方式存储的数据.客户端持久性是赋予WEB应用程序记忆力的一种简单方法. ...

  8. zepto源码研究 - ajax.js($.ajax具体流程分析)

    简要:$.ajax是zepto发送请求的核心方法,$.get,$.post,$.jsonp都是封装了$.ajax方法.$.ajax将jsonp与异步请求的代码格式统一起来,内部主要是先处理url,数据 ...

  9. codeforces 672 D

    题目链接:http://codeforces.com/problemset/problem/672/D 题目大意:进行k次操作,每次将最大值集合中最大值-1,最小值+1,问你K次操作之后,最大值和最小 ...

  10. 3.1 as86汇编器

    在开始讲述as86汇编器前,这本书引用内核中bootsect.s框架程序汇编代码来解释,记录下这一小段代码中不理解的地方,下面是这段实例代码: .globl begtext, begdata, beg ...