模块(Python基础教程(第3版))

集合:集合是可变的,因此不能用作字典中的键。另一个问题是,集合只能包含不可变(可散列) 的值,因此不能包含其他集合。由于在现实世界中经常会遇到集合的集合,因此这可能是个问题。 所幸还有frozenset类型,它表示不可变(可散列)的集合。

 

堆:

位置 i处的元素总是大于位置i // 2处的元素(反过来说就是小于位置2 * i和2 * i + 1处的元素)。 这是底层堆算法的基础,称为堆特征

 

双端队列:双端队列很有用,因为它支持在队首(左端)高效地附加和弹出元素,而使用列表无法这样做。 另外,还可高效地旋转元素(将元素向右或向左移,并在到达一端时环绕到另一端)。

 

 

Time: 函数time.asctime将当前时间转换为字符串,如下所示: >>> time.asctime() 'Mon Jul 18 14:06:07 2016' 如果不想使用当前时间,也可向它提供一个日期元组(如localtime创建的日期元组)。要设 置更复杂的格式,可使用函数strftime,标准文档对此做了介绍。 函数time.localtime将一个实数(从新纪元开始后的秒数)转换为日期元组(本地时间)。如 果要转换为国际标准时间,应使用gmtime。 函数time.mktime将日期元组转换为从新纪元后的秒数,这与localtime的功能相反。 函数time.sleep让解释器等待指定的秒数。 函数time.strptime将一个字符串(其格式与asctime所返回字符串的格式相同)转换为日期 元组。(可选参数format遵循的规则与strftime相同,详情请参阅标准文档。) 函数time.time返回当前的国际标准时间,以从新纪元开始的秒数表示。虽然新纪元随平台 而异,但可这样进行可靠的计时:存储事件(如函数调用)发生前后time的结果,再计算它们的 差。

   datetime和timeit:前者提供了日期和时间算术 支持,而后者可帮助你计算代码段的执行时间。

Random:模块random包含生成伪随机数的函数,有助于编写模拟程序或生成随机输出的程序。请注意, 虽然这些函数生成的数字好像是完全随机的,但它们背后的系统是可预测的。如果你要求真正的 随机(如用于加密或实现与安全相关的功能),应考虑使用模块os中的函数urandom。模块random 中的SystemRandom类基于的功能与urandom类似,可提供接近于真正随机的数据。

 

shelve 和 json:

当你查看shelf对象中的元素时,将使用存储版重建该对象,而当你将一个 元素赋给键时,该元素将被存储。要正确地修改使用模块shelve存储的对象,必须将获取的副本赋给一个临时变量,并在修改 这个副本后再次存储;还有另一种避免这个问题的办法:将函数open的参数writeback设置为True。这样,从shelf 对象读取或赋给它的所有数据结构都将保存到内存(缓存)中,并等到你关闭shelf对象时才将 它们写入磁盘中。

  Re:模块re提供了对正则表达式的支持。

正则表达式是可匹配文本片段的模式。(匹配指的是与整个字符串匹配,而函数match只要求模式与 字符串开头匹配。 

                       句点与除换行符外的任何字符都匹配,因此被称为通配符。

                      普通字符只与自己匹配,但特殊字符(如句点)的情况完全不同。要让特殊字符的行为与普通 字符一样,(1)可对其进行转义,在它前面加上 一个反斜杠。,为表示模块re要求的单个反斜杠,需要在字符串中书写两个反斜杠,让解释器对其 进行转义。(2)r’ 字符串’;

 字符集;         可以用方括号将一个子串括起, 创建一个所谓的字符集。这样的字符集与其包含的字符都匹配,还可使用范围,还可组合多个访问,方法是依次列出它们,请注意,字符集只能匹配一个字符。要指定排除字符集,可在开头添加一个^字符,例如'[^abc]'与除a、b和c外的其他任何字符 都匹配。

     一般而言,对于诸如句点、星号和问号等特殊字符,要在模式中将其用作字面字符而不 是正则表达式运算符,必须使用反斜杠对其进行转义。在字符集中,通常无需对这些字符进 行转义,但进行转义也是完全合法的。

             二选一和子模式:'python|perl'   或者 'p(ython|erl)'

             可选模式和重复模式 :通过在子模式后面加上问号,可将其指定为可选的,即可包含可不包含。(1)每个可选的子模式都可以出现,也可以不出现。(2)每个可选的子模式都放在圆括号内。(3) (pattern)*:pattern可重复0、1或多次;(pattern)+:pattern可重复1或多次; (pattern){m,n}:模式可从父m~n次。

贪婪和非贪婪模式:贪婪的意思:能匹配多少就匹配多少;非贪婪:这个模式将匹配一个或多个通配 符,但匹配尽可能少的内容

 

 

生成器:包含yield语句的函数都被称为生成器。生成器不是使用return返回一个 值,而是可以生成多个值,每次一个。每次使用yield生成一个值后,函数都将冻结,即在此停 止执行,等待被重新唤醒。被重新唤醒后,函数将从停止的地方开始继续执行。

 

 

 

//145左右

模块:   让模块值得被创建的原因在于 它们像类一样,有自己的作用域。这意味着在模块中定义的类和函数以及对其进行赋值的变量都 将成为模块的属性。主要是为了重用代码。  如果在另一个 程序中将其作为模块导入,以便能够使用该函数,也将执行测试代码,要避免这种行为,关键是检查模块是作为程序运行还是被导入另一个 程序。为此,需要使用变量__name__。

   模块pprint中的函数pprint能打印大量的数据。

   要查明模块包含哪些东西,可使用函数dir,它列出对象的所有属性(对于模块,它列出所 有的函数、类、变量等);   变量__all__告诉解释器从这个模块导入所有 的名称意味着什么。

    文档是有关模块信息的自然来源。

    使用 help 获取帮助:相比于直接查看文档字符串,help的优点是可获取更多的信息,如函数的特征标(即它 接受的参数)。

 

使用源代码:1查找源代码位置:一种办法是像解释器那样通过sys.path来查找,但更快捷的方式是查看模 块的特性__file__。

2.在代码编辑器(如IDLE)中打开文件copy.py,并开始研究其工作原理。如果 列出的文件名以.pyc结尾,可打开以.py结尾的相应文件。

   Sys:模块sys让你能够访问与Python解释器紧密相关的变量和函数。

Os:模块os让你能够访问多个操作系统服务。

Fileinput:模块fileinput让你能够轻松地迭代 一系列文本文件中的所有行。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值