day16 内置函数和匿名函数
#python里有哪些数据类型:int、bool、str、list、tuple、dict、set
#Python里有哪些数据结构:dic、list、tuple、set、str
#reversed():反转
l = [1,2,3,4,5]
l2 = reversed(l)
print(l2) #输出结果为<list_reverseiterator object at 0x00349070>
#保留原列表,返回一个反向的迭代器
#slice:切片
l = (1,2,23,213,5612,342,43)
sli = slice(1,5,2)
print(l[sli]) #等同于l[1:5:2]
#formate
'''
#字符串可以提供的参数,指定对齐方式,<是左对齐, >是右对齐,^是居中对齐
print(format('test', '<20'))
print(format('test', '>20'))
print(format('test', '^20'))
#整形数值可以提供的参数有 'b' 'c' 'd' 'o' 'x' 'X' 'n' None
>>> format(3,'b') #转换成二进制
'11'
>>> format(97,'c') #转换unicode成字符
'a'
>>> format(11,'d') #转换成10进制
'11'
>>> format(11,'o') #转换成8进制
'13'
>>> format(11,'x') #转换成16进制 小写字母表示
'b'
>>> format(11,'X') #转换成16进制 大写字母表示
'B'
>>> format(11,'n') #和d一样
'11'
>>> format(11) #默认和d一样
'11'
'''
#bytes
ret = bytearray('alex',encoding='utf-8')
print(id(ret))
print(ret[0])
ret[0] = 65
print(ret)
print(id(ret))
print(bytes('你好',encoding="GBK").decode('GBK')) #Unicode转换成GBK的bytes
print(bytes('你好',encoding='utf-8')) #unicode转换成utf-8的bytes
#网络编程 只能传二进制
#照片和视频也是以二进制储存
#HTML网页爬取到的也是源码
#bytearray
b_array = bytearray('你好',encoding='utf-8')
print(b_array)
print(b_array[0])
#memoryview
ret = memoryview(bytes('你好',encoding='utf-8'))
print(len(ret))
print(bytes(ret[:3]).decode('utf-8'))
print(bytes(ret[3:]).decode('utf-8'))
#切片 ---字节类型 不占内存
#字节 ---字符串 占内存
#ord:字符按照Unicode转换数字
print(ord('a'))
print(ord('l'))
#chr:数字按照Unicode转换字符
print(chr(97))
#ascii
print(ascii('好'))
print(ascii(1))
#repr:用%r格式化输出
name = 'egg'
print('你好%r'%name)
print(repr('l'))