print(abs(-1))
假:0,'',None
print(all([1,2,'1']))
print(all([1,2,'1',0]))
print(all([1,2,'1','']))
print(bin(3))
name='你好'
print(bytes(name,encoding='utf-8'))
print(bytes(name,encoding='gbk'))
print(b'\xc4\xe3\xba\xc3'.decode('gbk'))
print(dir(dict))
可以用于做网页,总共多少页还有每页显示多少个内容,结果可以得出能分多少页还有剩多少个
print(divmod(10,3))
dic="{'name':'alex','abc':'cdf'}"
print(eval(dic))
d1=eval(dic)
print(d1['name'])
express='1+2*5-3'
print(eval(express))
不可hash的数据类型即是可变数据类型
print(hash('shit'))
print(hash('shit'))
print(hash('youfuckingshit'))
哈希特性:
哈希运算是不同长度的字符串都只能弄出一串相同长度的哈希值
每次运行的哈希值是不同的
相同的字符串的哈希值相同
不能从哈希值反推出原来的字符串
print(hex(12))
补充:十进制转二进制用bin
十进制转八进制用oct
print(isinstance(1,int))
print(isinstance('abc',str))
print(isinstance('abc',list))
print(isinstance('abc',dict))
name='dsadwtges'
def test():
age='111111111'
print(locals())
test()
l=[1,3,100,-1]
print(max(l))
print(min(l))
max和min的高级用法
找出年龄最大或者最小的人和名字
age_dic={'ca_age':18,'sb2_age':20,'ddk3_age3':21}
print(max(age_dic.values()))
print(max(zip(age_dic.values(),age_dic.keys()))) #此处先放value在前面比较完,后面的就不比了
注意:max和min比较的时候,字符串按第一位的来比再到第二位再到后面
比如说a10<c1
一一对应,第一个序列和第二个序列一一对应
序列类型:列表,元组,字符串
示例1
print(list(zip(('a','b','c'),(1,2,3))))
示例2
p={'name':'alex','age':'18','gender':'none'}
print(list(zip(p.keys(),p.values())))
还有一个更高级的例子见上面的14
print(ord('a'))
print(pow(3,4)) #3的四次方
print(list(reversed([1,2,3,4])))
print(round(3.5))
l='hellodddd'
s1=slice(1,4,2) #从第一位到达第四位,步长是2
print(l[s1])
不同类型之间不能比较大小
people=[
{'name':'alex','age':1000},
{'name':'wupeiqi','age':10000},
{'name':'yuanhao','age':9000},
{'name':'zqh','age':18}
]
print(sorted(people,key=lambda dic:dic['age'])) #按照年龄来进行排序
print(vars(int))
首先准备好一个py文件名字叫做importtest
def sayhello():
print('hello')
两种方式导入
第一种是直接导入名字
import importtest
importtest.sayhello()
第二种是导入字符串形式的模块名
md=__import__('importtest')
md.sayhello()
文件处理流程:打开文件,得到文件句柄并赋值给一个变量
通过句柄对文件进行操作
关闭文件
示例:
首先准备好一个utf8编码的txt文件
接着可以按照以下的代码来进行调用
fil=open('文件','r',encoding='utf8') #r代表读操作,且打开时按utf8
print(fil.readable()) #判断文件是否可以读
data=fil.read()
print(data)
fil.close() #用完要关闭文件,不然会一直占用内存
fil=open('文件','r',encoding='utf8') #r代表读操作,且打开时按utf8
print(fil.readline())
print(fil.readline()) #每次读完一行光标会跟进到下一行,下次读取时会从光标位置开始而不是从头
print(fil.read())
fil.close() #用完要关闭文件,不然会一直占用内存
fil=open('文件1','w',encoding='utf8') #w代表写操作,且打开时按utf8
fil.write('1111\n')
fil.write('1221\n')
fil.write('33333333333333\n')#注意,写入的内容必须是字符串
fil.close() #用完要关闭文件,不然会一直占用内存
fil=open('文件1','a',encoding='utf8') #w代表写操作,且打开时按utf8
fil.write('写到文件的最后')
fil.close() #用完要关闭文件,不然会一直占用内存
原文件为:
abcde
啊比西递一
修改和显示要求:替换c为sssss,并在最后加上修改完成
fil=open('文件3','r+',encoding='utf8') #w代表写操作,且打开时按utf8
di1=fil.readline()
di2=fil.readline()
fil.close() #用完要关闭文件,不然会一直占用内存
data1=str(di1)
data1=data1[0:2]+'sssss'+data1[2:4]
fil=open('文件3','r+',encoding='utf8') #w代表写操作,且打开时按utf8
fil.write(data1)
fil.write("\n")
fil.write(di2)
fil.write("\n")
fil.write("修改完成")
fil.close() #用完要关闭文件,不然会一直占用内存
二进制bytes—>解码decoding—>字符串
importtest里面的内容
def sayhello():
print('hello')
#本函数用于输出hello
程序
f=open('importtest.py','rb')
data=f.read()
print(data)
f.close()
#上面是用二进制来显示出上面的那个文件
#如果要正常显示,首先要注意到那个文件的编码方式是utf8
#因此在解码的时候也应该来使用utf8
print('\n',data.decode('utf8'))
f=open('test22.py','wb') #wb指的是需要用二进制来写入
f.write(bytes('我是谢特',encoding='utf8'))
f=open('importtest.py','rb')
f.readline()
print(f.tell()) #注意最后还有换行符也占据两个字节
f.close()
f=open('importtest.py','r',encoding='utf8')
f.seek(12) #seek(12)将光标移动到12的位置
print(f.tell()) #注意最后还有换行符也占据两个字节
print(f.read(5)) #read后面加数字可以控制读几个字节
f.close()
f=open('truncat.py','w',encoding='utf8')
f.seek(3) #seek(12)将光标移动到12的位置
f.truncate(10)
f.close()
seek文本文件
123
323
asdsad
f=open('seek','w',encoding='utf8')
print(f.tell())
f.seek(10)
print(f.tell())
f.seek(3)
print(f.tell())
f.close()
f=open('seek','rb') #注意要是使用相对模式,必须用'rb',不能用其他
print(f.tell())
f.seek(10,1)
print(f.tell())
f.seek(3,1)
print(f.tell())
f.close()
f=open('seek','rb') #注意要是使用相对模式,必须用'rb',不能用其他
print(f.tell())
f.seek(10,2)
print(f.read())
f.close()
日志文件
xiaoming sb
axi sb1
msudias nt
以下内容可以取出日志文件的最后一节
f=open('日志文件','rb')
data=f.readlines()
print(data[-1].decode('utf8'))
手机扫一扫
移动阅读更方便
你可能感兴趣的文章