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之内置函数的主要内容,如果未能解决你的问题,请参考以下文章

python之内置函数,匿名函数

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

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

Python内置函数之super()

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

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