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)

 

 

posted @ 2016-08-16 09:02  whzym111  阅读(176)  评论(0编辑  收藏  举报