[python官方文档]10&11标准库概述(附generator介绍

首先,对一些大型模块,可以使用内置函数:
1)dir(os) 得到os模块内部的所有函数
2) help(os)返回os模块的帮助信息
os旗下的:os.chdir()  os.getcwd()【get current working directory】
sys旗下的:sys.argv[x]【返回命令行调用的第x个参数,其中第0个默认为模块名,sys.argv为list】
time旗下的:time.date()【time重点放在更有效的处理和格式化输出】
math旗下的:math.pi  math.log(1024,2)=10 math.cos(x) mmath.random()
re模块:字符串正则匹配
urllib2模块:urllib2.urlopen(website)
数据压缩:zlib,gzip,bz2,zipfile等模块

输出格式:
    repr模块:其中的repr()函数与str()不同的是:
            str()将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式
    pprint模块提供了打印的更美化更清晰的效果。
模板:
    string模块下的Template可以实现参数定制化,如:

>>> from string import Template
>>> t = Template('${village}folk send $$10 to $cause.')
>>> t.substitute(village='Nottingham', cause='the ditch fund')
'Nottinghamfolk send $10 to the ditch fund.'
多线程:
    高级模块threading可以实现多线程
        [注:我在windows下使用threading模块报错了,linux下可以运行,大概该模块对windows不支持吧- -
列表工具:
    array模块:类似列表,但是仅仅存储数据,更为紧凑。
    collections模块下的deque:队列的实现,先进先出



在看着一部分的时候,还引申出了一个问题:
由range()和xrange()的区别,去了解 生成器generator,再到yield,受益匪浅.

这篇文章 点这里 关于生成器generator讲得特别好。


range()返回的是一个数组,当我们用 for i in range(x)时,产生一个迭代器iterator来访问数组中的所有元素。

xrange()返回的是一个生成器generator,生成器使用的是一遍循环一遍计算的机制。

当我们需要访问一个较大的list的时候,用range()用可能会产生大于内存的list。

generator的产生除了通过xrange,还可以通过(), 如(i*i for i in range(10)), 不同于list使用的是[]。

对generator内部元素的访问可以通过调用其next()方法,也可以用迭代器访问(generator也是可迭代对象)。

generator的实现:yield方法,其实现原理是函数每次遇到yield就中断返回,下次运行的时候从yield后继续,函数的变量一直保存。

【注:关于gennerator的更多知识参考生成器-廖雪峰的官方网站


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值