python基础学习1-内置函数
#!/usr/bin/env python # -*- coding:utf-8 -*- 系统内置函数 n =abs(-1) #绝对值 print(n) #bytes()函数 s="离开" re= bytes(s,encoding="utf-8") # bytes() 把字符串 转换成字节 print(re) res = str(re,encoding="utf-8") #转换回字符串 print(res) re= bytes(s,encoding="gbk")# bytes() 把字符串 转换成字节 print(re) #open函数 文件操作 3步 打开文件 操作文件 关闭文件 #打开文件 # r-只读 # w-只写,先清空原文件,在写入 # x-只写 ,如果文件存在报错不存在创建并写内容 a-追加 #以上方式+b 则表示直接读取2进制数据 #r+ 读写 f=open('db','w') f.write("test1,test2,test3,test4") f.close() f=open('db','a') f.write("/n"+"t1,t2,t3,t4") f.close() f=open('db','r') rd = f.read() rdlist = rd.split(',') f.close() print(rdlist) f=open('db','r+',encoding='utf-8') data = f.read() index= f.tell()#取得当前指针的位置 永远按字节数 一个汉字3个字节 utf-8 print(index) f.seek(3)#把指针调整到 参数位置 第一个位置 f.write("888") f.close() #f.flush()#强制刷新 #f.truncate()#截断后面的内容-清空指针所指的后面的内容 """ with open('db') as f: #with open自动关闭 pass with open('db1','r',encoding='utf-8') as f1 , open('db2','w',encoding='utf-8') as f2: #同时打开多个文件 for line in f1: f2.write(line) """ #-------------------chr() ord()--------- r= chr(66) #根据输入十进制数字 显示对应ASCII 吗对他字母 print(r) r2 = ord('A')#根据输入字母 显示对应ASCII 吗对应十进制数字 print(r2) #--------------compile() eval() exec()------------- s ="print(123)" r=compile(s,"<string>","exec") #把字符串编译成python代码 exec(r)#运行编译好的python代码 没有返回值 js = "8%3" rjs = eval(js) #计算 字符串形式的表达式 有返回值 print(rjs) #--------------------dir() help()-------------- #快速查看对象提供的功能信息 #print(dir(dict)) #print(help(dict)) #查看对象帮助 #-------------------dvmod --------------- d =divmod(100,3) #求商 和余数 print(d[0]) #求商 33 print(d[1]) #求余数 1 d1,d2 = divmod(100,6) #可以用这种形式 取得两个值 print(d1) print(d2) #-----------------isinstance() 判断是否类的实列------- s ="alex" r = isinstance(s,str)#判断 s是否是字符串类的实列 print(r) # True #---------------------filter(),map() ------------- #filter(函数,可迭代的对象) 函数返回值为True,将元素添加到结果中 def f2(a): if a>22: return True li=[11,22,33,44,55,66] ret=filter(f2,li) #内部会循环第二个参数 ,在每个循环的内部执行第一个参数,如果在函数返回为True则把当前值加入返回列表中 print(list(ret)) retex = filter(lambda a:a>22,li) #上面可以改成这种lambda表达式 形式 print(list(retex)) #map (函数,可以迭代的对象(可以FOR循环))将函数返回值添加到结果中 li2 =[1,2,3,4,5,6,7] r= map(lambda a:a+100,li) print(list(r)) #-------------max() min() sum()------------ r = max([1,2,3,4,5]) #求最大值 print(r) r2 = min([1,2,3,4,5]) #求最小值 print(r2) r3=sum([1,2,3,4,5])#求和 print(r3)