python学习笔记 day16 内置函数(四)

复习

python中有哪些数据类型:int str bool list tuple dict set

python中有哪些数据结构: list,tuple,dict,set 

reversed()---返回一个新的list,把原来的列表元素反转,并且是一个迭代器(节省内存)

L=[1,2,3,4]
L_new=reversed(L)   #返回的是一个迭代器,并不会改变原有列表,会把原来列表中的元素反转,产生一个新的
print(L)
print(L_new)    #返回的是一个新的列表
print(L_new.__next__())  #可以使用.__next__()方法依次取得迭代器中元素的值
print("*******************")
for i in L_new:    #由于这个迭代器已经使用.__next__()取得一个值了,所以后续在使用for循环时也只能接着取了~
    print(i)

运行结果:

python学习笔记 day16 内置函数(四)

还记得之前学的reverse方法:是在原列表基础上进行操作,并不是返回一个新的列表

L=[1,2,3,4]
L.reverse()  #该方法于append()方法类似,没有返回值,只是一个操作而已
print(L)

运行i结果:

python学习笔记 day16 内置函数(四)

slice():其实也是完成切片功能(只不过这里是一个函数封装了list[start:end:step]功能)

L=[1,2,3,4,5,6]
sli=slice(1,5,2)   #只是产生了一个切片规则
print(L[sli])

运行结果:

python学习笔记 day16 内置函数(四)

format():格式化输出

print("{},{}!".format('Hello','xuanxuan'))  #格式化输出,{}相当于占位符
print(format(3.16),type(format(3.16)))  #可以将数字转化为字符串
print(format('xuanxuan','<30'))   #将字符串左对齐,长度30
print(format('xuanxuan','>30'))   #将字符串右对齐,长度30
print(format('xuanxuan','^30'))   #将字符串居中对齐,长度30

运行结果:

python学习笔记 day16 内置函数(四)

bytes():将字符串转化为bytesl类型

文件中的内容一般都是str类型,但是str类型的编码是unicode(万国码),我们传输一般都是用utf-8或者gbk 而bytes类型就是utf-8或者gbk编码的,所以有时候需要进行str---->bytes类型的转换

print(bytes('你好,璇璇',encoding='utf-8'))    #将str 类型转换为utf_8的bytes类型
print(bytes('你好,璇璇',encoding='gbk'))     #将str类型转换为gbk的bytes类型
print(bytes(bytes('你好,璇璇',encoding='gbk').decode('gbk'),encoding='utf-8'))  #如果需要进行gbk--->utf-8的转换时,就可以先把按照gbkdecode 一下decode('gbk'),变为str,unicode编码的,然后再bytes('',encoding='utf-8')类型转换为utf_8

运行结果:

python学习笔记 day16 内置函数(四)

使用范围:

1.网络编程时需要转化为二进制;

2.照片和视频文件使用二进制存储;

3.html爬取到的网页需要使用二进制

ord()----将字符按照Unicode转换为数字;chr()----将数字按照unicode转化为字符

print(ord('a'))   #将字符a按照unicode转化为数字97
print(ord('A'))   #将字符A按照unicode转化为数字65
print(ord('1'))   #将字符‘1’按照unicode转化为数字
print(chr(97))    #将数字97按照unicode转化为字符

运行结果:

python学习笔记 day16 内置函数(四)

 repr():将字符串类型的原封不动的输出,用于%r格式化输出

 先来感受一下:

print('你好,%s'%'璇璇')   # %s就是原来我们学的将字符串格式化输出(输出结果不带引号) 
print('你好,%r'%'璇璇')   # %r 可以格式化输出,输出结果保留引号 

运行结果:

python学习笔记 day16 内置函数(四)

 其实,%s 对应的时str;  %r对应的是repr

print(repr('xuanxuan'))
print('字符1:'+ repr('1'))  #repr()会原封不动的将字符带有引号的输出
print(repr(1))
print('**********************')
print('1')
print(1)

运行结果:

python学习笔记 day16 内置函数(四)