python之内置函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之内置函数相关的知识,希望对你有一定的参考价值。
内置函数:
内置函数是指内置到python解释器中的函数
以下是Python3版本所有的内置函数:
1. abs() 获取绝对值
示例:
print(abs(-1))
print(abs(0))
print(abs(-10))
其结果是:
1
0
10
2. all() 接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False
示例:
print(all(""))
print(all((1,‘ ‘,2,None)))#输入一个元组,挨个从元组(1,‘ ‘,2,None)中取值,当传入none的话,返回false,故最后结果是false
print(all([1,3,6,8]))
其结果是:
True
False
True
3. any() (与all有点相反)接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False
示例:
print(any(""))#传入空的字符串
print(any((1,‘ ‘,2,None)))#输入一个元组,挨个从元组(1,‘ ‘,2,None)中取值,有一个为真,即全部为真
print(any([0,1]))
其结果是:
False
True
True
4. bin(), 将十进制转换成二进制
示例:
print(bin(3))
执行结果是:
0b11
5. oct(), 将十进制转换成8进制
示例:
print(oct(8))
执行结果是:
0o10
6. hex() 将十进制转换成16进制
示例:
print(hex(8))
执行结果是:
0x8
7.bool() 测试一个对象是True还是False.
示例:
print(bool(0))
print(bool(None))
print(bool(‘‘))
执行结果是:
False
False
False
8.bytes() 将一个字符串转换成字节类型
示例:
print(bytes("hello",encoding="utf-8"))
其执行结果是:
b‘hello‘
9. str() 将字符类型/数值类型等转换为字符串类型
示例:
print(str(1))
print(str(8))
其执行结果是:
1
8
10. challable() 判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例
示例:
print(callable(sum))
print(callable(max))
print(callable([1,2,3]))
print(callable({"a":1}))
其执行结果是:
True
True
False
False
11.chr(),查看十进制数对应的ASCII字符
示例:
print(chr(67))
print(chr(68))
执行结果是:
C
D
12. ord() 查看某个ASCII对应的十进制数
示例:
print(ord("A"))
print(ord("g"))
执行结果是:
65
103
13.real() 输出实数
示例:
x=2-4j
print(x.real)#输出实数
print(x.imag)#输出虚数
执行结果是:
2.0
-4.0
14.imag()输出复数
示例:
x=2-4j
print(x.real)#输出实数
print(x.imag)#输出虚数
执行结果是:
2.0
-4.0
15. dir() 不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表,以及可调用的方法
示例:
print(dir())
print(dir(sum))#查看sum对象下有什么可调用的方法
print(help(sum))
执行结果是:
[‘__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() 分别取商和余数
示例:
print(divmod(33,20))#取33除以20的商和余数,并以元组的方式呈现
执行结果是:
(1, 13)
17. enumerate() (输出索引和值)返回一个可以枚举的对象,该对象的next()方法将返回一个元组
示例:
for i in enumerate([‘a‘,‘b‘,‘c‘,‘d‘]):
print(i)
for i in enumerate({‘x‘:1,‘y‘:2}):
print(i)
执行结果是:
(0, ‘a‘)
(1, ‘b‘)
(2, ‘c‘)
(3, ‘d‘)
(0, ‘x‘)
(1, ‘y‘)
18.eval() 将字符串中的表达式提取出来并运行
示例:
print(eval("1+2+5*4/2"))
执行结果是:
13.0
19. filter() 过滤器,在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据
示例:
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 i in res:
print(i)
执行结果是:
{‘name‘: ‘tom‘, ‘age‘: 222}
{‘name‘: ‘alex‘, ‘age‘: 333}
{‘name‘: ‘sun‘, ‘age‘: 363}
20.float() 将一个字符串或整数转换为浮点数
示例:
print(float("123456"))
执行结果是:
123456.0
21.format() 格式化输出字符串
22. frozenset() 不可变集合
示例:
frozenset #不可变集合
f=frozenset({1,2,3,4})
print(type(f))
执行结果是:
<class ‘frozenset‘>
23.set() 集合
示例:
# set
s={1,2,3,4,4}
print(s)
s.add(5)
print(s)
执行结果是:
{1, 2, 3, 4}
{1, 2, 3, 4, 5}
set() 集合和 frozenset() 不可变集合的区别是:
set和frozenset最本质的区别是前者是可变的,后者是不可变的。当集合对象会被改变时(例如删除,添加元素),只能使用set
24.globals() 返回一个描述当前全局变量的字典
示例:
print(globals())
执行结果是:
{‘__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}
25.hash() 哈希值,是一种算法,用来校验数据的(hash不能用逆推,不能根据hash值来反推结果)
示例:
s=‘hello‘
print(hash(s))
s=‘h‘
print(hash(s))
执行结果是:
5785457468649946891
3261640564835463479
如果两个值相同,则hash值也是一样的
示例:
a="abcdddd"
b="abcdddd"
print(hash(a))
print(hash(b))
执行结果是:
-6798321890605724422
-6798321890605724422
26. id() 返回对象的内存地址
示例:
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)
执行结果是:
32180912
1428464736
1428464768
False
5650000
5650000
True
27.input() 获取用户输入内容
示例:
a=input("请输入您的密码:")
执行结果:
请输入您的密码:
28.int() 将一个字符串或数值转换为一个普通整数
示例:
print(int(1))
执行结果是:
1
29.isinstance() 检查对象是否是类的对象,返回True或False
示例:
num=1 #num=int(1)
print(type(num)) #查看num的类型
print(isinstance(num,int)) #判断num是否为int类型
执行结果是:
<class ‘int‘>
True
30.iter() 可用来判断是否是可迭代对象
示例:
l=[1,2,3,4]
i=iter(l)
print(next(i))
print(next(i))
print(next(i))
print(next(i))
执行结果是:
1
2
3
4
31.len() 返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)
示例:
l=[1,2,3,4]
print(len(l))
执行结果是:
4
32. list() 转换成列表
示例:
l={1,2,3,4,5,12}
print(list(l))
执行结果是:
[1, 2, 3, 4, 5, 12]
33.locals() 打印当前可用的局部变量的字典
示例:
print(locals())
执行结果是:
{‘__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‘: [1, 2, 3, 4]}
34. map() 合并映射
示例:
#map# 合并映射
l=[1,2,3,4,5]
# 方法一:
x=[i**2 for i in l] #求平列表里的平方值,并以列表的方式呈现
print(x)
# 方法二:
res=map(lambda x:x**2,l)
print(list(res))
执行结果是:
[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25]
35.max() 返回给定元素里最大值
1 max(iterable [,args...][, key])
2 如果只提供iterable参数(可迭代),函数返回可遍历对象(如:字符串,元组或列表)中最大的非空元素。
3 如果提供多个参数,那么返回值最大的那个参数。
4 可选参数key是单参数的排序函数。
5 如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)
示例1:
print(max(1,2,3,4,10,3))
print(min(1,2,3,4,10,3))
执行结果是:
10
1
示例2:
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]))#取工资最低的人的名字
执行结果是:
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:
print(max(1,2,3,4,10,3))
print(min(1,2,3,4,10,3))
执行结果是:
10
1
示例2:
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]))#取工资最低的人的名字
执行结果:
alex
yuanhao
alex
yuanhao
37.next() 返回促进运行
示例:
l=[1,2,3,4,5]
i=iter(l)
print(next(i))
print(next(i))
print(next(i))
执行结果是:
1
2
3
38.open() 打开文件
示例:
with open("a.txt",) as f:
line=f.readlines()
print(line)
执行结果是:
[‘nnnajjab xubs\\n‘, ‘bxbsbeux‘]
39.pow() 先求次方再取余
示例:
print(pow(3,3,4))#求3的3次方,再除以4,得到的余数
执行结果是:
3
40.range() 根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数
示例:
for i in range (1,5):
print(i)
执行结果:
1
2
3
4
41. reversed() 反转,逆序对象
示例:
l=[1,30,3,45,9,19]
print(list(reversed(l)))
执行结果:
[19, 9, 45, 3, 30, 1]
42.slice() 切片功能
示例:
l=[1,30,3,45,9,19]
s=slice(1,3)
print(l[s])
执行结果是:
[30, 3]
43.sorted() 排序
示例:
salaries={"egon":20,
"alex":40,
"wupeiqi":30,
"yuanhao":10}
# sorted#排序(可升降排序)
print(sorted(salaries,key=lambda a:salaries[a]))#将工资从小到大排序
执行结果:
[‘yuanhao‘, ‘egon‘, ‘wupeiqi‘, ‘alex‘]
44.str() 转换成字符串
示例:
l=[1,2,3,4]
print(type(str(l)))
执行结果是:
<class ‘str‘>
45.sum() 求和
示例:
l=[1,2,3,4]
print(sum(l))
执行结果是:
10
46.vars() 取的结果为字典
示例:
print(vars())
print(vars()is locals())
执行结果是:
{‘__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
47.zip() 将对象逐一配对,以元组的方式
示例:
# zip#拉链,以元祖的方式
s="hello"
l=[1,2,3,4,5]
for i in zip(s,l):
print(i)
执行结果是:
(‘h‘, 1)
(‘e‘, 2)
(‘l‘, 3)
(‘l‘, 4)
(‘o‘, 5)
48.__import__()
示例:
import time
print(time)
m=__import__("time")#可以传参
print(m)
执行结果:
<module ‘time‘ (built-in)>
<module ‘time‘ (built-in)>
以上是关于python之内置函数的主要内容,如果未能解决你的问题,请参考以下文章