内置函数:
内置函数是指内置到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
|
( 1 , 13 ) |
17. enumerate() (输出索引和值)返回一个可以枚举的对象,该对象的next()方法将返回一个元组
示例:
1
2
3
4
|
for i in enumerate ([ 'a' , 'b' , 'c' , 'd' ]): print (i) for i 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 i 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
|
{ 1 , 2 , 3 , 4 } { 1 , 2 , 3 , 4 , 5 } |
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
|
[ 1 , 2 , 3 , 4 , 5 , 12 ] |
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' : [ 1 , 2 , 3 , 4 ]} < / module> |
34. map() 合并映射
示例:
1
2
3
4
5
6
7
8
|
#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
2
|
[ 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:
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
' , 'bxbsbeux' ] |
39.pow() 先求次方再取余
示例:
1
|
print ( pow ( 3 , 3 , 4 )) #求3的3次方,再除以4,得到的余数 |
执行结果是:
1
|
3 |
40.range() 根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数
示例:
1
2
|
for i 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
|
[ 19 , 9 , 45 , 3 , 30 , 1 ] |
42.slice() 切片功能
示例:
1
2
3
|
l = [ 1 , 30 , 3 , 45 , 9 , 19 ] s = slice ( 1 , 3 ) print (l[s]) |
执行结果是:
1
|
[ 30 , 3 ] |
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 i 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> |