Python常用函数、方法、模块记录

常用函数:

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

上一篇:Python常用函数记录


下一篇:python常用函数年初大总结