首页 > 代码库 > 内置函数

内置函数

内置函数

官网链接:https://docs.python.org/3/library/functions.html

按字母排序。

技术分享

#求绝对值函数,小于0的数变成大于0的数

abs()

print(abs(-2))
print(abs(0))
 
结果:

2
0

all()

取出第一个值做BOOL值运算,然后next()第二个值做BOOL运算就已经FALSE了,所以里面的值得全部为TRUE
print(all((1,‘‘,2,None)))
print(all((1,2,)))#可迭代对象里的值都不不为空就为为True
print(all(‘‘))#但是如果可迭代对象是空,就为True
print(all(i for i in range(1,10)))

结果:

-----------all func-----------
False
True
True
True

sum() 求和函数

print("-----------sum func-----------")
#求和函数
res=sum(i for i in range(3))
print(res)

any()判断是否为可迭代对象:

print("-------- any func -----------")
print(any([None,0,‘‘,{},1]))
print(any([ ]))

bin()函数   #bin  10进制转成2进制

print(----------bin func-------------)
print(bin(3))

bool()函数 ,判断真假

print(----------bool func-------------)
print(bool(0))
print(bool(1))

bytes()转成一个字节格式:

print(------------bytes func---------------)
print(bytes(hello,encoding=utf-8))

 

callable() 对象是否能被调用:

print(callable(sum))
def test():
    pass
print(callable(test))
 
结果:
----------------callable------
True
True

 

chr() #查看ascii 码对应关系

print(chr(67))
print(chr(65))
print(ord(A))
print(---------complex-----------)


结果:
---------chr-----------
C
A
65

# 复数:

x=1-2j
print(x.real) #实步
print(x.imag) #虚步
print(---------complex-----------)
 
结果:
---------complex-----------
1.0
-2.0
---------complex-----------

#isinstance 判断类型:

num=1.0
print(------------instaltance---------)
print(isinstance(num,int))
print(isinstance(num,float))

结果:
------------instaltance---------
False
True

 

#str 函数:

print(str(1))
print(str({a:1}))


结果:
------------str---------
1
{a: 1}

#list

print(--------------list--------------)
x=[]
x=list(i for i in range(10))
print(list(x))

结果:
--------------list--------------
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#dict 

print(--------------dict------------)
d={a:1}
d=dict(x=1,y=3,z=45)
print(d)

结果:
--------------dict------------
{z: 45, y: 3, x: 1}

 

#set  set是一个可变的集合:

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


结果:
--------------set------------
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 90}

 

# frozenset () 是不可变集合:

f=frozenset({1,2,3,4,5})
print(type(f))

结果:
----------------frozenset--------
<class frozenset>

 

reduce 函数

from functools import reduce
l=list(range(100))
print(l)
#后面的100是默认值
print(reduce(lambda a,b:a+b,l,100))

结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
5050
print(‘------------reduce------------‘)
#求出列表100个数的和
l=list(range(100))
print(l)
#把这100个值做一个求和运算,并合并成一个最终的结果
#后面是一个可迭代对象l , 细分一下100的和,每次都是两个值相加,值传
#给x,y两个参数,然后是x+y , 每次都是next()的取l的值
print(reduce(lambda x,y:x+y,l))



#reduce 还可以设置默认值,也是就开始在next()的时候这个默认值50就已经生效
#,在第一次 next()的就已经拿50 然后 50+0 ,再next() 51+1 52+2..........
print(reduce(lambda x,y:x+y,l,50))
#结果:
5000
map映射函数:#每一个数都可以映射一个新的数,得到一个新的列表
l=[1,2,3,4,8,5]
#算出每个元素的平方
x=[i**2 for i in l]
print(x)
#以一个迭代器的方式
m=map(lambda item:item**2,l)
print(list(m))

#在每个人的名字都加上 rube
name_l=[wangwu,zhangsan,lisi,zhaoliu]
m=map(lambda name:name+ rube,name_l)
print(list(m))

--------------map----------------
[1, 4, 9, 16, 64, 25]
[1, 4, 9, 16, 64, 25]
[wangwu rube, zhangsan rube, lisi rube, zhaoliu rube]
filter函数练习:
#只取出下面人物大于24的年龄:
name_li=[
    {name:zhangsan,age:29},
    {name:lisi,age:28},
    {name:wangwu,age:22},
    {name:zhaoliu,age:24}
]


操作:
fil=filter(lambda name:name[age]>24,name_li)
print(list(fil))

结果:
[{age: 29, name: zhangsan}, {age: 28, name: lisi}]
 
 
#只取出下面大于20的商品名称
shares={
    IBM:36.6,
    Lenovo:23.2,
    baozi:21.2,
    openstack:10.2,
}

操作:
print(-----------------------shares--)
fil2=filter(lambda key:shares[key]>20,shares)
print(list(fil2))

结果:
[baozi, IBM, Lenovo]

内置函数