常用函数:
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表示小数点后精度