内置函数

内置函数

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

按字母排序。

图片2

#求绝对值函数,小于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']
posted @ 2017-04-13 19:23  tonycloud  阅读(279)  评论(0)    收藏  举报