Python之旅的第3²天(内置函数、文件基本打开关闭)
今天其实遇到了一些不顺心的事情,耽搁了学习进程,但最终来说,老天爷是懂你的,今天心情不好,内容不多,但是是真他妹的难啊,测试出来的东西又和看的不一样,单元能和昨天一样,一觉睡醒,结果正常了,哈哈哈。
上干货,内置方法:
abs 取绝对值 # print(abs(-1)) #---->结果得:1 # # all 对可迭代对象中每个元素进行bool运算,全部为True或可迭代对象为空返回True # test = [‘alex‘,‘10‘] # print(all(test)) #返回结果为True # test1 = [] # print(all(test1)) #返回结果为True # test2 = [‘‘,18] # print(all(test2)) #返回结果为Flase # # any 对可迭代对象中每一个进行bool运算,只要其中一个为真,则返回True # 与上面的all正好相反 # test = [‘‘,18] # print(any(test)) #返回结果为True # test1 = [‘‘,{},0] # print(any(test1) #返回结果为Flase # # bin 十进制转为二进制 # hex 十进制转为十六进制 # oct 十进制转为八进制 # n = 2020 # # print(bin(n)) #0b11111100100 0b表示二进制数 # # print(hex(n)) #0x7e4 0x表示十六进制数 # # print(oct(n)) #0o3744 0o表示八进制数 # # #bytes 将字符串转换为字节形式 # name = ‘你好‘ # n = bytes(name,encoding = ‘utf-8‘) # print(n) #encoding表示转换为字节形式对应的码表 # #结果为b‘\xe4\xbd\xa0\xe5\xa5\xbd‘ # # #decode 将字节转换为文字,与上面bytes正好相反,转码解码参考一定要一样哦 # test_name = n.decode(encoding = ‘utf-8‘) # print(test_name) # # chr 输出数字对应的ASCII码 # print(chr(98)) #输出结果为b # # dict 字典 # dir 显示某一对象下面的方法 # print(dir(tuple)) #---->输出元组对象下的所有方法 # # divmod 同时计算商和余数 # print(divmod(10,3)) #------>输出结果为(3, 1) # # eval 提取字符串中包含的数据结构 # test = "{‘name‘:‘alex‘,‘age‘:‘18‘}" # print(eval(test)) #----->{‘age‘: ‘18‘, ‘name‘: ‘alex‘} # n = dict(eval(test)) #eval出来的是一个迭代器,稍微转一下才能正式调用方法 # for k , v in n.items(): # print(k,v) #此时n便成为一个可迭代的字典 # #获取了其中包含的字典数据类型 # str_test = ‘1+2*(3/3-1)-2‘ # n = eval(str_test) # print(n) #---->得到运算结果-1.0 # # float 返回浮点值 # # hash 对可哈希的不可变类型进行哈希运算 # hash值的特点:固定不可变,不随字符串长度增加而明显增加,无法根据hash值反推文本内容,内容不变hash不会改变(可用于文件检测) # # help 查看某一方法的详细使用解释 # print(help(map)) #输出内置函数map的解释,全是英文,我表示看不懂 # # isinstance 判断数据是否为对应数据类型 # print(isinstance(‘hello,world‘,str)) #返回结果为True # # locals 显示当前所有的局部变量 # globals 显示当前所有的全局变量 # # zip 使两个可迭代对象一一对应,两个元素个数不同时,以少的为准,对应完了就结束了 # a = [‘a‘,‘b‘,‘c‘,‘d‘] # b = [1,2,3] # print(list(zip(a,b))) #输出结果:[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)] # 也可以使字典中k,v值一一对应 # test = {‘age‘: ‘18‘, ‘name‘: ‘alex‘} # print(list(zip(test.keys(),test.values()))) #输出结果:[(‘age‘, ‘18‘), (‘name‘, ‘alex‘)] # # max 求出最大值的作用 # 两个特点:输入可迭代对象,不同类型不能进行比较,默认从第一个值开始比较,如分出结果就不继续比下去了 # 相当于做了一个for循环进行挨个比较 # # max的初级阶段使用 # list_test = [1,24,56,3,100] # print(max(list_test)) #输出结果100 # # max的中级使用 # list_test = [(‘a‘, 1), (‘b‘, 2), (‘c‘, 1)] # print(max(list_test)) #输出结果为(‘c‘, 1) # # 接下来是max的高阶模式,字典中比较数据 # pep_list = {‘alex‘:18,‘zjl‘:20,‘axin‘:40,‘zhaolei‘:18} # print(list(max((zip(pep_list.values(),pep_list.keys()))))) # 输出结果为[40,‘axin‘] # # max的最高级玩法,可以在后面输入方法 # 需求:求出下面字典中年龄最大的人 # list_test = [ # {‘name‘:‘alex‘,‘age‘:18}, # {‘name‘:‘zjl‘ ,‘age‘:28}, # {‘name‘:‘zhao‘,‘age‘:33}, # {‘name‘:‘kobe‘,‘age‘:40}, # ] # # print(max(list_test,key = lambda dic : dic[‘age‘])) # 输出结果为{‘name‘: ‘kobe‘, ‘age‘: 40} # # 此处lambda dic : dic[‘age‘]的作用是将list_test中每个元素(即字典)中age对应的数值取出来 # 和下面的循环是一个意思 # rec = [] # for item in list_test: # rec.append(item[‘age‘]) # print(rec) #取出了list_test中所有age对应的值 # # reversed 反转序列 # test = [1,2,3,4] # print(list(reversed(test))) #输出结果:[4, 3, 2, 1] # print(test) #输出结果:[1, 2, 3, 4] # # ord 输出字符对应的ASCII码 # pow 可填写两个或三个参数 # print(pow(2,3)) #输出结果为8,等同于2的3次方 # print(pow(2,3,3)) #输出结果为2,等同于2的3次方,再除以3取余 # # round 对小数进行四舍五入 # print(round(4,436)) #输出结果为4 # # slice 切片保存 slice(起始,结束,步长) # l = ‘hello‘ # s1 = slice(3,5,1) #把切片保存到s1 # print(l[s1]) #输出结果为‘lo‘,等同于l[3,5] # # sorted 排序,执行过程类似于max和min,默认从小到大排序,不同类型不能排序,其本质就是比大小 # sorted 也是可以导入方法的 # list_test = [ # {‘name‘:‘alex‘,‘age‘:40}, # {‘name‘:‘zjl‘ ,‘age‘:28}, # {‘name‘:‘zhao‘,‘age‘:18}, # {‘name‘:‘kobe‘,‘age‘:40}, # ] # print(list(sorted(list_test,key = lambda dic : dic[‘age‘]))) # # sum 对可迭代对象进行求和 # type 查看数据对应的类型 # vars 没有参数时显示本地变量,或将所有方法对应为字典输出 # print(vars()) #用到的时候再详细补充 # __impot__ 导入文件,可导入字符串类型,import不能导入,但最终import都是引入了__import__
下面是介绍了几个简单的文件入门操作:
#文件的读取、书写、追加以及r+模式可读可写(建议浏览:https://www.cnblogs.com/linhaifeng/articles/5984922.html) #r:只读 w:只写 a:追加 r+:可读可写 # 读取文件测试 # f = open(‘test‘,‘r‘,encoding = ‘utf-8‘) #注意设置读取所参考的编码表 # test_r = f.read() #读取文件内容 # print(test_r) # print(f.readable()) #查看文件是否可读 返回True # #文件从前到后只读取一次,前面出现了f.read,则此处光标已经在文档最后了 # print(‘第一行的内容是:‘,f.readline(),end = ‘‘) #只读取文件中的一行内容,同时光标下移 # print(‘第二行的内容是:‘,f.readline(),end = ‘‘) # f.close() # 写入文件的测试 # 写入文件的内容必须都是字符串的形式,不然系统就会报错 # f = open(‘test‘,‘w‘,encoding = ‘utf-8‘) #此处所输入的文件名如果在本级列表存在,则覆盖掉原有文件 # #如果不存在则新创建一个文件 # print(f.writable()) #显示文件是否可写入 返回True # f.write(‘hello world\n‘) #写入内容 # f.writelines([‘alex\n‘,‘zhaolei皮一下‘,‘zhoujielun\n‘,‘kobe‘]) #貌似只有这个地方才可以传入列表 # f.close() # 追加模式的操作(常用来作为访问日志,可用于记录网站访问的日志) # f = open(‘test‘,‘a‘,encoding = ‘utf-8‘) # print(f.readable()) #返回值为False # f.write(‘第二行修改了‘) #追加模式不能进行文件读取,将所输入的内容追加在文件最后 # f.close() # r+可读可写模式 # f = open(‘test‘,‘r+‘,encoding = ‘utf-8‘) # print(f.readable()) #可被读取,返回True # print(f.writable()) #可被写入,返回True # # print(‘第一行的内容:‘,f.readline(),end = ‘‘) #此时读取光标已经移动到第二行 # f.writelines(‘第二行前面皮一下\n‘) #为什么只读取了一行,补充书写就到了最后面呢 # #写入方式为直接覆盖的方式 # f.close() #with自动打开和关闭 #书写格式 # with open(‘test‘,‘r‘,encoding = ‘utf-8‘) as f ,\ # open(‘text_new‘,‘w‘,encoding = ‘utf-8‘) as d: # test_l = f.read() # print(test_l) #不能直接打印f.read,出现了指针地址
睡觉喽。。。
相关推荐
敏敏张 2020-11-11
SCNUHB 2020-11-10
小木兮子 2020-11-11
wwwsurfphpseocom 2020-10-28
WasteLand 2020-10-18
Cocolada 2020-11-12
杜鲁门 2020-11-05
shirleypaddy 2020-10-19
qingmumu 2020-10-19
Testingba工作室 2020-09-15
周公周金桥 2020-09-13
专注前端开发 2020-08-16
emagtestage 2020-08-16
heniancheng 2020-08-15
hanjinixng00 2020-08-12
小方哥哥 2020-08-09
83327712 2020-07-30
卖小孩的咖啡 2020-07-21
wqiaofujiang 2020-07-05