Python内置函数解析

时间:2024-12-29 10:34:56

  我们知道,为了方便使用,python内置了一系列常用及关键的函数,如type()。下面将对这些函数进行逐一分析、解释。

Python内置函数表:

Python内置函数解析


 

1. abs():返回绝对值。如abs(-1)= 1。

2.all():接收一个迭代器,如果迭代器里的所有元素都是True,那么返回True,否则False。

3.any():接收一个迭代器,如果迭代器里有一个元素是True,那么返回True,否则False。

4.ascii():调用对象的__repr__()方法,获得该方法的返回值。

5.bin()/oct()/hex():三个方法是将十进制数分别转换为2/8/16进制。

6.bool():测试一个对象是True还是False

7.bytes():如果想要将一个字符串转换成字节类型,就使用这个方法。例如:s = ‘张三’,m = bytes(s,encoding='utfo-8')

8.str():将字节类型/数值类型等转换成字符串类型,同样也可以指定编码方式。例如:str(byte对象,encoding='utf-8')

9.callable():判断对象是否可以被调用。如果某个类具有__call__方法,那它能被调用。 例如,def f1(): pass,那么callable(f1)等于True。

10.char():查看某个十进制数对应的ASCII字符,例如:char(99) = 'c'。它可以配合random.randint(1,65)随机数,生成随机字符,用于短信验证码制造。

11.ord():与char()相反,是查看某个ASCII字符对应的十进制数,例如,ord('A') = 65。

12.compile():将字符串编译成Python能识别或执行的代码。 也可以将文件读成字符串再编译。

s  = "print('helloworld')"
r = compile(s,"<string>","exec")
print(r)

运行结果:

<code object <module> at 0x000002094DF31930, file "<string>", line 1> 

13.dir():显示当前对象所有可执行的方法。例如dir(a_dict)

14.help():返回对象的帮助文档。例如:help(str)

15.enumerate():枚举函数,在迭代对象的时候,额外提供一个序列号的输出。注意:enumerate(li,1)中的1表示从1开始序号,默认从0开始。

li = ['a','b','c']
for i,item in enumerate(li,1):
    print(i,'\t',item)

运行结果:

1      a
2      b
3      c

16.eval():将字符串直接解读并执行。例如:s = "6*8",s是一个字符串,d = eval(s), d的结果是48。

17.map():基本用法:data = map(函数,迭代器),将迭代器中的元素逐一代入函数中执行,然后将返回值逐一放入data形成一个map类型数据,然后可以用list()等方法将它转换成想要的类型。例如:

li = [1,2,3]
data = map(lambda x :x*100,li)
print(type(data))
data = list(data)
print(data)

运行结果:

<class 'map'>
[100, 200, 300]

18.filter():过滤器,用法和map有点类似。在函数中设定过滤的条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据。

def f1(x):
    if x > 3:
        return True
    else:
        return False
li = [1,2,3,4,5]
data = filter(f1,li)
print(type(data))
print(list(data))

运行结果:

<class 'filter'>
[4, 5]

filter与lambda表达式配合会使代码更简洁,例如:

li = [11,22,33,44,55]
result = filter(lambda x: x>33,li)
print(list(result))

结果:

[44, 55]

当然,用推导式也是不错的,例如:

li = [11,22,33,44,55]
y = [a for a in li if a > 33]
print(y)

结果:

[44, 55]

19.format():执行format(对象),其实就是调用该对象所属类的__format__方法。

20.frozenset():制造一个不能增加,修改的集合类型。

21.globals():列出当前可用的所有的全局变量

22.hash():哈希值

23.int()/float()/str()/list()/dict()/set()/tuple():数据类型的转换

24.input():接收用户输入

25. id():返回对象的内存地址

26. locals():打印当前可用的局部变量

27. len():返回对象的长度

28. max()/min(): 取出给定元素里的最大或者最小的值

29. open():打开文件

30. pow():幂函数

31. range():制造一个数字区间,常用于循环、迭代、计数。例如:range(10)   range(0,100)

32. repr():调用对象所属类的__repr__方法

33. reversed():反转,逆序对象

34. round():四舍五入

35. sorted():排序

36. sum():求和

37. supper():父类

38. type():显示对象所属的类型

39. var():与dir()方法类似,不过dir()方法返回的是key,var()方法返回key的同时还把value一起打印了。

40. zip():将对象逐一配对,例如:

list_1 = [1,2,3]
list_2 = ['a','b','c']
s = zip(list_1,list_2)
print(list(s))

运行结果:

[(1, 'a'), (2, 'b'), (3, 'c')]

41. exec():执行字符串或compile方法编译过得字符串,没有返回值。

42. delattr()/setattr()/getattr()/hasattr():待续

43. divmod():除法,同时返回商和余数的元组。n1,n2 = divemod(97,10)  结果:n1 = 9 ,n2 =7

44. isinstance():例如:isinstance(a,b),判断a是否是b类的实例。比type()方法适用面更广。

45. issubclass():   issubclass(a,b),判断a是否是b的子类。

46. slice():切片功能

  

未完待续.....