python之内置函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之内置函数相关的知识,希望对你有一定的参考价值。

内置函数:

内置函数是指内置到python解释器中的函数

以下是Python3版本所有的内置函数:

技术分享

1. abs()  获取绝对值

示例:

1
2
3
print(abs(-1))
print(abs(0))
print(abs(-10))

其结果是:

1
2
3
1
0
10

2. all()  接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False

示例:

1
2
3
print(all(""))
print(all((1,‘ ‘,2,None)))#输入一个元组,挨个从元组(1,‘ ‘,2,None)中取值,当传入none的话,返回false,故最后结果是false
print(all([1,3,6,8]))

其结果是:

1
2
3
True
False
True

3. any()  (与all有点相反)接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

示例:

1
2
3
print(any(""))#传入空的字符串
print(any((1,‘ ‘,2,None)))#输入一个元组,挨个从元组(1,‘ ‘,2,None)中取值,有一个为真,即全部为真
print(any([0,1]))

其结果是:

1
2
3
False
True
True

4. bin(), 将十进制转换成二进制

示例:

1
print(bin(3))

执行结果是:

1
0b11

5. oct(), 将十进制转换成8进制

示例:

1
print(oct(8))

执行结果是:

1
0o10

6. hex()   将十进制转换成16进制 

示例:

1
print(hex(8))

执行结果是:

1
0x8

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

示例:

1
2
3
print(bool(0))
print(bool(None))
print(bool(‘‘))

执行结果是:

1
2
3
False
False
False

8.bytes()  将一个字符串转换成字节类型

示例:

1
print(bytes("hello",encoding="utf-8"))

其执行结果是:

1
b‘hello‘

9. str()  将字符类型/数值类型等转换为字符串类型

示例:

1
2
print(str(1))
print(str(8))

其执行结果是:

1
2
1
8

10. challable()  判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例

示例:

1
2
3
4
print(callable(sum))
print(callable(max))
print(callable([1,2,3]))
print(callable({"a":1}))

其执行结果是:

1
2
3
4
True
True
False
False

11.chr(),查看十进制数对应的ASCII字符

示例:

1
2
print(chr(67))
print(chr(68))

执行结果是:

1
2
C
D

12. ord()  查看某个ASCII对应的十进制数

示例:

1
2
print(ord("A"))
print(ord("g"))

执行结果是:

1
2
65
103

13.real() 输出实数

示例:

1
2
3
x=2-4j
print(x.real)#输出实数
print(x.imag)#输出虚数

执行结果是:

1
2
2.0
-4.0

14.imag()输出复数

示例:

1
2
3
x=2-4j
print(x.real)#输出实数
print(x.imag)#输出虚数

执行结果是:

1
2
2.0
-4.0

15. dir()  不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表,以及可调用的方法

示例:

1
2
3
print(dir())
print(dir(sum))#查看sum对象下有什么可调用的方法
print(help(sum))

执行结果是:

1
2
3
4
5
6
7
8
9
10
11
12
[‘__annotations__‘‘__builtins__‘‘__cached__‘‘__doc__‘‘__file__‘‘__loader__‘‘__name__‘‘__package__‘‘__spec__‘]
[‘__call__‘‘__class__‘‘__delattr__‘‘__dir__‘‘__doc__‘‘__eq__‘‘__format__‘‘__ge__‘‘__getattribute__‘‘__gt__‘‘__hash__‘‘__init__‘‘__init_subclass__‘‘__le__‘‘__lt__‘‘__module__‘‘__name__‘‘__ne__‘‘__new__‘‘__qualname__‘‘__reduce__‘‘__reduce_ex__‘‘__repr__‘‘__self__‘‘__setattr__‘‘__sizeof__‘‘__str__‘‘__subclasshook__‘‘__text_signature__‘]
Help on built-in function sum in module builtins:
 
sum(iterable, start=0/)
    Return the sum of a ‘start‘ value (default: 0) plus an iterable of numbers
     
    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.
 
None

16.divmod()  分别取商和余数

示例:

1
print(divmod(33,20))#取33除以20的商和余数,并以元组的方式呈现

执行结果是:

1
(113)

17. enumerate()  (输出索引和值)返回一个可以枚举的对象,该对象的next()方法将返回一个元组

示例:

1
2
3
4
for in enumerate([‘a‘,‘b‘,‘c‘,‘d‘]):
    print(i)
for in enumerate({‘x‘:1,‘y‘:2}):
    print(i)

执行结果是:

1
2
3
4
5
6
(0‘a‘)
(1‘b‘)
(2‘c‘)
(3‘d‘)
(0‘x‘)
(1‘y‘)

18.eval()  将字符串中的表达式提取出来并运行

示例:

1
print(eval("1+2+5*4/2"))

执行结果是:

1
13.0

19. filter()  过滤器,在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据

示例:

1
2
3
4
5
6
7
8
name_l=[{"name":"tom","age":222},
      {"name""alex""age"333},
      {"name""jack""age"133},
      {"name""sun""age"363},
      ]
res=filter(lambda d:d["age"]>200,name_l)
for in res:
    print(i)

执行结果是:

1
2
3
{‘name‘‘tom‘‘age‘222}
{‘name‘‘alex‘‘age‘333}
{‘name‘‘sun‘‘age‘363}

20.float()  将一个字符串或整数转换为浮点数

示例:

1
print(float("123456"))

执行结果是:

1
123456.0

21.format()  格式化输出字符串

22. frozenset()    不可变集合

示例:

1
2
3
frozenset #不可变集合
f=frozenset({1,2,3,4})
print(type(f))

执行结果是:

1
2
<class ‘frozenset‘="">
</class>

23.set()     集合

示例:

1
2
3
4
5
# set
s={1,2,3,4,4}
print(s)
s.add(5)
print(s)

执行结果是:

1
2
{1234}
{12345}

set()  集合和 frozenset() 不可变集合的区别是:

set和frozenset最本质的区别是前者是可变的,后者是不可变的。当集合对象会被改变时(例如删除,添加元素),只能使用set

24.globals()  返回一个描述当前全局变量的字典

示例:

1
print(globals())

执行结果是:

1
2
{‘__name__‘‘__main__‘‘__doc__‘None‘__package__‘None‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x0000000002169710>, ‘__spec__‘None‘__annotations__‘: {}, ‘__builtins__‘: <module ‘builtins‘="" (built-in)="">, ‘__file__‘‘C:/Users/Administrator/PycharmProjects/py_fullstack_s4/day25/内置函数.py‘‘__cached__‘None}
</module>

25.hash()  哈希值,是一种算法,用来校验数据的(hash不能用逆推,不能根据hash值来反推结果)

示例:

1
2
3
4
s=‘hello‘
print(hash(s))
s=‘h‘
print(hash(s))

执行结果是:

1
2
5785457468649946891
3261640564835463479

如果两个值相同,则hash值也是一样的

示例:

1
2
3
4
a="abcdddd"
b="abcdddd"
print(hash(a))
print(hash(b))

执行结果是:

1
2
-6798321890605724422
-6798321890605724422

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

示例:

1
2
3
4
5
6
7
8
9
10
11
print(id("xuyuanyuan"))
a=1
b=2
print(id(a))
print(id(b))
print(a is b)
x=‘a‘
y=‘a‘
print(id(x))
print(id(y))
print(x is y)

执行结果是:

1
2
3
4
5
6
7
32180912
1428464736
1428464768
False
5650000
5650000
True

27.input()  获取用户输入内容

示例:

1
a=input("请输入您的密码:")

执行结果:

1
请输入您的密码:

28.int()  将一个字符串或数值转换为一个普通整数

示例:

1
print(int(1))

执行结果是:

1
1

29.isinstance()  检查对象是否是类的对象,返回True或False

示例:

1
2
3
num=1 #num=int(1)
print(type(num)) #查看num的类型
print(isinstance(num,int)) #判断num是否为int类型

执行结果是:

1
2
3
<class ‘int‘="">
True
</class>

30.iter()  可用来判断是否是可迭代对象

示例:

1
2
3
4
5
6
l=[1,2,3,4]
i=iter(l)
print(next(i))
print(next(i))
print(next(i))
print(next(i))

执行结果是:

1
2
3
4
1
2
3
4

31.len()  返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)

示例:

1
2
l=[1,2,3,4]
print(len(l))

执行结果是:

1
4

32. list()  转换成列表

示例:

1
2
l={1,2,3,4,5,12}
print(list(l))

执行结果是:

1
[1234512]

33.locals()  打印当前可用的局部变量的字典

示例:

1
print(locals())

执行结果是:

1
2
{‘__name__‘‘__main__‘‘__doc__‘None‘__package__‘None‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x0000000001DA9710>, ‘__spec__‘None‘__annotations__‘: {}, ‘__builtins__‘: <module ‘builtins‘="" (built-in)="">, ‘__file__‘‘C:/Users/Administrator/PycharmProjects/py_fullstack_s4/day25/内置函数.py‘‘__cached__‘None‘l‘: [1234]}
</module>

34. map()  合并映射

示例:

1
2
3
4
5
6
7
8
#map# 合并映射
l=[1,2,3,4,5]
# 方法一:
x=[i**2 for in l] #求平列表里的平方值,并以列表的方式呈现
print(x)
# 方法二:
res=map(lambda x:x**2,l)
print(list(res))

执行结果是:

1
2
[1491625]
[1491625]

35.max()  返回给定元素里最大值

1 max(iterable [,args...][, key])
2 如果只提供iterable参数(可迭代),函数返回可遍历对象(如:字符串,元组或列表)中最大的非空元素。
3 如果提供多个参数,那么返回值最大的那个参数。
4 可选参数key是单参数的排序函数。
5 如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)

示例1:

1
2
print(max(1,2,3,4,10,3))
print(min(1,2,3,4,10,3))

执行结果是:

1
2
10
1

示例2:

1
2
3
4
5
6
7
8
9
10
salaries={"egon":20,
      "alex":40,
      "wupeiqi":30,
      "yuanhao":10}
def get_value(k):
    return salaries[k]
print(max(salaries,key=get_value))#取工资最高的人的名字
print(min(salaries,key=get_value))#取工资最低的人的名字
print(max(salaries,key=lambda k:salaries[k]))#取工资最高的人的名字
print(min(salaries,key=lambda k:salaries[k]))#取工资最低的人的名字

执行结果是:

1
2
3
4
alex
yuanhao
alex
yuanhao

36. min()  返回给定元素里最小值

1 min(iterable [,args...][, key])
2 如果只提供iterable参数,函数返回可遍历对象(如:字符串,元组或列表)中最小的非空元素。
3 如果提供多个参数,那么返回值最小的那个参数。
4 可选参数key是单参数的排序函数。
5 如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)

示例1:

1
2
print(max(1,2,3,4,10,3))
print(min(1,2,3,4,10,3))

执行结果是:

1
2
10
1

示例2:

1
2
3
4
5
6
7
8
9
10
salaries={"egon":20,
      "alex":40,
      "wupeiqi":30,
      "yuanhao":10}
def get_value(k):
    return salaries[k]
print(max(salaries,key=get_value))#取工资最高的人的名字
print(min(salaries,key=get_value))#取工资最低的人的名字
print(max(salaries,key=lambda k:salaries[k]))#取工资最高的人的名字
print(min(salaries,key=lambda k:salaries[k]))#取工资最低的人的名字

执行结果:

1
2
3
4
alex
yuanhao
alex
yuanhao

37.next()  返回促进运行

示例:

1
2
3
4
5
l=[1,2,3,4,5]
i=iter(l)
print(next(i))
print(next(i))
print(next(i))

执行结果是:

1
2
3
1
2
3

38.open()  打开文件

示例:

1
2
3
with open("a.txt",) as f:
    line=f.readlines()
    print(line)

执行结果是:

1
[‘nnnajjab xubs\\n‘‘bxbsbeux‘]

39.pow()  先求次方再取余

示例:

1
print(pow(3,3,4))#求3的3次方,再除以4,得到的余数

执行结果是:

1
3

40.range()  根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数

示例:

1
2
for in range (1,5):
    print(i)

执行结果:

1
2
3
4
1
2
3
4

41. reversed()   反转,逆序对象

示例:

1
2
l=[1,30,3,45,9,19]
print(list(reversed(l)))

执行结果:

1
[199453301]

42.slice()  切片功能

示例:

1
2
3
l=[1,30,3,45,9,19]
s=slice(1,3)
print(l[s])

执行结果是:

1
[303]

43.sorted()  排序

示例:

salaries={"egon":20,      "alex":40,      "wupeiqi":30,      "yuanhao":10}# sorted#排序(可升降排序)print(sorted(salaries,key=lambda a:salaries[a]))#将工资从小到大排序

执行结果:

1
[‘yuanhao‘‘egon‘‘wupeiqi‘‘alex‘]

44.str()  转换成字符串

示例:

1
2
l=[1,2,3,4]
print(type(str(l)))

执行结果是:

1
2
<class ‘str‘="">
</class>

45.sum()  求和

示例:

1
2
l=[1,2,3,4]
print(sum(l))

执行结果是:

1
 

46.vars()  取的结果为字典

示例:

1
2
print(vars())
print(vars()is locals())

执行结果是:

1
2
3
{‘__name__‘‘__main__‘‘__doc__‘None‘__package__‘None‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x0000000001DB9710>, ‘__spec__‘None‘__annotations__‘: {}, ‘__builtins__‘: <module ‘builtins‘="" (built-in)="">, ‘__file__‘‘C:/Users/Administrator/PycharmProjects/py_fullstack_s4/day25/内置函数.py‘‘__cached__‘None}
True
</module>

47.zip()  将对象逐一配对,以元组的方式

示例:

1
2
3
4
5
# zip#拉链,以元祖的方式
s="hello"
l=[1,2,3,4,5]
for in zip(s,l):
    print(i)

执行结果是:

1
2
3
4
5
(‘h‘1)
(‘e‘2)
(‘l‘3)
(‘l‘4)
(‘o‘5)

48.__import__()

示例:

1
2
3
4
import time
print(time)
m=__import__("time")#可以传参
print(m)

执行结果:

1
2
3
<module ‘time‘="" (built-in)="">
<module ‘time‘="" (built-in)="">
</module></module>

以上是关于python之内置函数的主要内容,如果未能解决你的问题,请参考以下文章

python之内置函数,匿名函数

python之内置函数匿名函数递归

python第三篇 python基础之函数,递归,内置函数

Python内置函数之super()

13 个非常有用的 Python 代码片段

python全栈开发从入门到放弃之内置函数