常用函数:
1.pow():乘方
2.abs():绝对值
3.round():四舍五入
4.int():转换为整数
5.input():键盘输入(会根据用户的输入来做类型的转换)
   raw_input():键盘输入(会把用户的输入都作为一个字符串来处理)
6.str():它会把值转换为合理形式的字符串,以例用户可以理解;
   repr():它会创建一个字符串,它以合法的python表达式的形式来表示值。
7.长字符串带跨行:'''  '''
 原始字符串:r'  '
   Unicode字符串:u'  '
8.list():将一个字符串拆分成列表
9.tuple():以一个序列作为参数并把它转换为元组
10.dict():通过其他映射(比如其他字典)或(键,值)这样的序列对建立字典;也可以通过关键字参数来创建字典
11.range():随机数,默认步长1
12.callable():判断函数是否可调用
13.issubclass():查看一个类是否是另一个的子类
14.type():查询数据类型
15.enumerate():返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char
16.zip():从多个列表中,依次各取出一个元素,每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中
17.lambda:lambda x,y: x + y生成一个函数对象。该函数参数为x,y,返回值为x+y
18.del:Python中保留的关键字,用于删除对象
19.map():将函数对象依次作用于表的每一个元素,每次作用的结果储存于返回的表中。在Python 3.X中,map()的返回值是一个循环对象。可以利用list()函数,将该循环对象转换成表。
20.filter():将作为参数的函数对象作用于多个元素,如果函数对象返回的是True,则该次的元素被储存于返回的表中。在Python 3.X中,filter返回的不是表,而是循环对象。
21.reduce():累进地将函数作用于各个参数。reduce()函数在3.0里面不能直接用的,它被定义在了functools包里面,需要引入包
22.iter(obj):如果传递一个参数给 iter() ,它会检查你传递的是不是一个序列,如果是,那么很简单: 根据索引从 0 一直迭代到序列结束。
   iter(func,sentinel) :如果是传递两个参数给 iter() ,它会重复地调用 func ,直到迭代器的下个值等于sentinel。
 
序列内建函数:
len(s)         返回: 序列中包含元素的个数
min(s)         返回: 序列中最小的元素
max(s)         返回: 序列中最大的元素
all(s)         返回: True, 如果所有元素都为True的话
any(s)         返回: True, 如果任一元素为True的话
sum(s)         返回:序列中所有元素的和
   # x为元素值,i为下标(元素在序列中的位置)
s.count(x)     返回: x在s中出现的次数
s.index(x)     返回: x在s中第一次出现的下标
 
内置函数清单:
数学运算
abs(-5)                          # 取绝对值,也就是5
round(2.6)                       # 四舍五入取整,也就是3.0
pow(2, 3)                        # 相当于2**3,如果是pow(2, 3, 5),相当于2**3 % 5
cmp(2.3, 3.2)                    # 比较两个数的大小
divmod(9,2)                      # 返回除法结果和余数
max([1,5,2,9])                   # 求最大值
min([9,2,-4,2])                  # 求最小值
sum([2,-1,9,12])                 # 求和
 
类型转换
int("5")                         # 转换为整数 integer
float(2)                         # 转换为浮点数 float
long("23")                       # 转换为长整数 long integer
str(2.3)                         # 转换为字符串 string
complex(3, 9)                    # 返回复数 3 + 9i 
ord("A")                         # "A"字符对应的数值
chr(65)                          # 数值65对应的字符
unichr(65)                       # 数值65对应的unicode字符 
bool(0)                          # 转换为相应的真假值,在Python中,0相当于False
在Python中,下列对象都相当于False: [], (), {}, 0, None, 0.0, '' 
bin(56)                          # 返回一个字符串,表示56的二进制数
hex(56)                          # 返回一个字符串,表示56的十六进制数
oct(56)                          # 返回一个字符串,表示56的八进制数 
list((1,2,3))                    # 转换为表 list
tuple([2,3,4])                   # 转换为定值表 tuple
slice(5,2,-1)                    # 构建下标对象 slice
dict(a=1,b="hello",c=[1,2,3])    # 构建词典 dictionary
 
序列操作
all([True, 1, "hello!"])         # 是否所有的元素都相当于True值
any(["", 0, False, [], None])    # 是否有任意一个元素相当于True值 
sorted([1,5,3])                  # 返回正序的序列,也就是[1,3,5]
reversed([1,5,3])                # 返回反序的序列,也就是[3,5,1]
 
类,对象,属性
hasattr(me, "test")               # 检查me对象是否有test属性
getattr(me, "test")               # 返回test属性
setattr(me, "test", new_test)     # 将test属性设置为new_test
delattr(me, "test")               # 删除test属性
isinstance(me, Me)                # me对象是否为Me类生成的对象 (一个instance)
issubclass(Me, object)            # Me类是否为object类的子类
 
编译,执行
repr(me)                          # 返回对象的字符串表达
compile("print('Hello')",'test.py','exec')       # 编译字符串成为code对象
eval("1 + 1")                     # 解释字符串表达式。参数也可以是compile()返回的code对象
exec("print('Hello')")            # 解释并执行字符串,print('Hello')。参数也可以是compile()返回的code对象
 
其他
input("Please input:")            # 等待输入 
globals()                         # 返回全局命名空间,比如全局变量名,全局函数名
locals()                          # 返回局部命名空间
 
 
 
 
 
 
 
常用方法:
1.append():在列表末尾追加新的对象
2.count():统计某个元素在列表中出现的次数
3.extend():在列表的末尾一次性追加另一个序列中的多个值
4.index():从列表中找出某个值第一个匹配项的
5.insert():将对象插入到列表中
6.pop():移除列表中一个元素(默认是最后一个),并且返回该元素的值
7.remove():移除列表中某个值的第一个匹配项
8.reverse():将列表中的元素反向存放
9.sort():在原位置对列表进行排序
10.find():在一个较长的字符串中查找子字符串,它返回子串所在位置的最左端索引,如果没有找到则返回-1
11.join():是split方法的逆方法,用来在队列中添加元素
12.split():它是join的逆方法,用来将字符串分割成序列
13.replace():返回某字符串的所有匹配项均被替换之后得到字符串
14.lower():返回字符串的小写字母版
15.strip():返回去除两侧(不包含内部)空格的字符串
16.popitem():获取或删除字典中任意的键-值对
17.dic.keys():返回dic所有的键
18.dic.values():返回dic所有的值
19.dic.items():返回dic所有的元素(键值对)
20.dic.clear():清空dic,dict变为{}
21.read(N):读取N bytes的数据
22.readline():读取一行
23.readlines():读取所有行,储存在列表中,每个元素是一行
24.write():写入
25.close():关闭文件
 
 
列表方法:
# l为一个表, l2为另一个表
l.extend(l2)        在表l的末尾添加表l2的所有元素
l.append(x)         在l的末尾附加x元素
l.sort()            对l中的元素排序
l.reverse()         将l中的元素逆序
l.pop()             返回:表l的最后一个元素,并在表l中删除该元素
del l[i]            删除该元素
 
字符串方法:
#str为一个字符串,sub为str的一个子字符串。s为一个序列,它的元素都是字符串。width为一个整数,用于说明新生成字符串的宽度。
str.count(sub)       返回:sub在str中出现的次数
str.find(sub)        返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
str.index(sub)       返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误
str.rfind(sub)       返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
str.rindex(sub)      返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误
str.isalnum()        返回:True, 如果所有的字符都是字母或数字
str.isalpha()        返回:True,如果所有的字符都是字母
str.isdigit()        返回:True,如果所有的字符都是数字
str.istitle()        返回:True,如果所有的词的首字母都是大写
str.isspace()        返回:True,如果所有的字符都是空格
str.islower()        返回:True,如果所有的字符都是小写字母
str.isupper()        返回:True,如果所有的字符都是大写字母 
str.split([sep, [max]])    返回:从左开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.split(',')的方式使用逗号或者其它分割符
str.rsplit([sep, [max]])   返回:从右开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.rsplit(',')的方式使用逗号或者其它分割符 
str.join(s)                返回:将s中的元素,以str为分割符,合并成为一个字符串。
str.strip([sub])           返回:去掉字符串开头和结尾的空格。也可以提供参数sub,去掉位于字符串开头和结尾的sub  
str.replace(sub, new_sub)  返回:用一个新的字符串new_sub替换str中的sub         
str.capitalize()           返回:将str第一个字母大写
str.lower()                返回:将str全部字母改为小写
str.upper()                返回:将str全部字母改为大写
str.swapcase()             返回:将str大写字母改为小写,小写改为大写
str.title()                返回:将str的每个词(以空格分隔)的首字母大写 
str.center(width)          返回:长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。
str.ljust(width)           返回:长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。
str.rjust(width)           返回:长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。
 
 
常用模块:
1.math
  math.floor()   取整
  math.sqrt()   平方根
 
  
 
注意:
1.把一个变量声名为全局的,可以使用global语句
2.只有在形参表末尾的那些参数可以有默认参数,如def func(a=5,b) 是无效的
3.确保自己使用的是新式类,有以下方法:
  a.把这个赋值语句放在类模块代码的最前面 __metaclass__ = type(前面有提过)。
  b.自己的类都从内建类object直接或者间接地继承。
4.任何定义了__enter__()和__exit__()方法的对象都可以用于上下文管理器,内置对象自动带有这两个特殊方法,不需要自定义
5.模块文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件
6.包裹传递的关键在于定义函数时,在相应元组或字典前加*或**
7.生成器中可以有多个yield。当生成器遇到一个yield时,会暂停运行生成器,返回yield后面的值。当再次调用生成器的时候,会从刚才暂停的地方继续运行,直到下一个yield。
   生成器表达式(Generator Expression):G = (x for x in range(4))
8.表推导(list comprehension)是快速生成表的方法,与生成器表达式类似,只不过用的是中括号
   L = [x**2 for x in range(10)]
 
 
 
格式符
格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:
%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    单个字符
%b    二进制整数
%d    十进制整数
%i    十进制整数
%o    八进制整数
%x    十六进制整数
%e    指数 (基底写为e)
%E    指数 (基底写为E)
%f    浮点数
%F    浮点数,与上相同
%g    指数(e)或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度) 
%%    字符"%"
可以用如下的方式,对格式进行进一步的控制:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度