有的时候,我们需要对多个字符进行逐一替换,一个应用场景就是去掉文章中所有的换行。
而用正则神马的有点大才小用,而一个一个replace也很麻烦,translate提供了这样的功能。
>>> str = " a\tb\rc\n "
>>> print str
ca b
#创建翻译(替换)表,并替换,搞定
>>> import string
>>> tb = string.maketrans("\r\n\t[......]
有的时候,我们需要对多个字符进行逐一替换,一个应用场景就是去掉文章中所有的换行。
而用正则神马的有点大才小用,而一个一个replace也很麻烦,translate提供了这样的功能。
>>> str = " a\tb\rc\n "
>>> print str
ca b
#创建翻译(替换)表,并替换,搞定
>>> import string
>>> tb = string.maketrans("\r\n\t[......]
本章主要介绍抽象类和一些高级的Collection。
1、abc模块:抽象类模块。
一个抽象类的例子:
(1)__metaclass__用ABCMeta替换
(2)抽象方法用@abstractmethod标注
(3)抽象属性用@abstractproperty标注
from abc import ABCMeta,abstractmethod,abstractproperty
class Stackable:
__metaclass__ = ABCMeta
@[......]
本章主要介绍一些和数学计算相关的模块。
1、decimal模块
主要提供浮点运算。Python默认的浮点存储是IEEE 754标准的,对于0.1可能被存储为0.000000000000000001。这类问题在Java等也存在。在一般情况下是可容忍的,但有些时候(比如用于金融行业软件),3 * 0.1 == 0.3会返回False,这是不合适的。
dicimal模块采用IBM General Decimal Arthmetic标准。定义了两种个主要类:Decimal和Context类。其[......]
本章主要介绍了一些与Python运行时相关的模块。
1、atexit模块
在真个Python解释器退出时,可以绑定若干钩子函数,通过atexit完成。
>>> def fun1():
... print "hh"
...
>>> import atexit
>>> atexit.register(fun1)
<function fun1 at 0xb7707614>
>>>
#按C[......]
1、有一些函数是不需要import的,因为他们存在于__buildin__模块下,这个模块是被默认引入的。在Python 3之后,更名为__buildins__,加了个s。
2、这些不需要import的称为内置函数。
3、一些内置函数/对象:
ascii(c):只在Python 3 可用!返回c对应的ascii字符,非ascii字符转化为对应的转义字符。
basestring:Python 2 中Byte字符串和Unicode字符串的父类。
bin(x):返回整数x的二进制[......]