16:内置函数和匿名函数

1、reversed  :保留原列表,返回一个反向的迭代器

2、slice构建一个方法:

 

1到5步长为2  

 l = (1,2,23,213,5612,342,43)
sli = slice(1,5,2)
print(l[sli])
print(l[1:5:2])

3、bytes   :转化成bytes类型

  比如:

print(bytes('你好',encoding='utf-8'))    #unicode转化成utf-8
print(bytes('你好',encoding='gbk'))      #unicode 转化成gbk

  关于编码方式:

    1、网络编程,只能传二进制

    2、照片和视频也是以二进制

    3、html网页爬取到的也是二进制

4、bytearray:

ret = bytearray('alex',encoding='utf-8')
print(id(ret))
print(ret[0])
ret[0] = 65   
print(ret)
print(id(ret))

  将字符串转化成bytes,可以对某位的字符用修改ASCII码的方式进行修改(用bytearray将编码可以对其中某一个片段进行修改)

 

5、  ord  :将字符串以ascill码显示

  chr :将ascill码转化成字符串 

print(ord(''))
print(ord('1'))
print(chr(97))

执行结果如下

 

6、repr:将变量以其原有的属性显示:字符串就是字符串,整形(或者浮点型)就是整形显示(输入什么形式就以什么形式存在)。

 

7、all :所有的布尔值是True则返回True,如果有一个布尔值是False则是False。   

print(all(['a','',123]))
print(all(['a',123]))
print(all([0,123]))

 

8、any:有一个布尔值为真就为真 

print(any(['',True,0,[]]))

 

9、zip :拉链。。。。。功能  (就像裤裆的拉链把两个对应的内容组合到一起……)。

l1=[1,2,3,4,5]
l2=['a','b','c','d','e']

执行结果:

 

 10、filter  :

  1)、前一个是定义好的函数,将后一个可迭代对象进行遍历,放入前面的条件中,如果符合条件,那就添加到变量中,这个变量是迭代器。

  2)、起到筛选的作用,不会改变原来的值,执行之后的结果集合的数量小于执行前结果集合元素的数量。 

def is_odd(x):                               #定义函数
     return x % 2 == 1
ret = filter(is_odd, [1,2,3,4,5,6,7,8,9,10])     #ret是迭代器哎亲

for i in ret:
     print(i)
        

 

 

11、map :根据条件,将可迭代对象中的元素放入函数中执行,会改变原来的值,但是执行前后的数量不变,返回的是一个迭代器。  

ret = map(abs,[1,-4,6,-8])
print(ret)
for i in ret:
     print(i)

 

谢谢观看!!!!!!

 

  

posted @ 2018-01-08 08:37  王二黑  阅读(181)  评论(0编辑  收藏  举报