一、运算符
1、算术运算符
+、-、*、/、%、**、//
· +
a1 = 1
a2 = 2
a3 = a1+a2
print(a3,type(a3))
· -
a1 = 1
a2 = 2
a3 = a1-a2
print(a3,type(a3))
· *
a1 = 1
a2 = 2
a3 = a1*a2
print(a3,type(a3))
ZS
· /
a1 = 1
a2 = 2
a3 = a1/a2
print(a3,type(a3))
· %
a1 = 2
a2 = a1%a1
print(a2)
· **
a1 = 2
a2 = a1**a1
print(a2)
· // 整除
a1 = 1
a2 = 2
a3 = a1//a2
print(a3)
2、比较(关系)运算符
输出的结果为布尔类型
3、赋值运算符
4、逻辑运算符
· and (两个条件必须都为true才会输出true)
a1 = 1
a2 = 2
print(a1 < a2 and a2 > a1)
print(a1 > a2 and a2 > a1)
· or (两个条件都为false才会输出false)
a1 = 1
a2 = 2
print(a1 > a2 or a2 < a1)
print(a1 > a2 or a2 > a1)
· not 取反
a1 = 1
print(not a1 == 1)
4、位运算符
二、文件操作
pycharm的默认编码是UTF-8
1、加密
s1 = '你好'
bytes1 = s1.encode(encoding='UTF-8')
print(bytes1)
2、解密
s1 = '你好'
bytes1 = s1.encode(encoding='UTF-8')
# print(bytes1)
#
s2 = bytes1.decode(encoding='UTF-8')
print(s2)
3、打开文件open()
方法一:
f = open('文件的路径',mode='rb/wb/w/r/ab/a',encoding='编码')
f.读/写()
f.close()
这个方法只要不调用close()函数,文件对象依旧可以继续使用
方法二:
with open('文件的路径',mode='rb/wb/w/r/ab/a',encoding='编码') as f:
f.读/写()
这个方法文件对象只有在缩进中才能够被使用,出了缩进,文件对象自动被关闭
4、写文件write()
5、读数据read()
6、关闭文件close()
7、文件打开模式
-
wb 覆盖以字节的形式写数据, 如果文件不存在,会自动创建
-
ab 追加以字节的形式写数据, 如果文件不存在,会自动创建
-
w 覆盖以以字节的形式(由参数encoding来决定)写数据, 如果文件不存在,会自动创建
-
a 追加以以字节的形式(由参数encoding来决定)写数据, 如果文件不存在,会自动创建
-
rb 以字节的形式读取文件
-
r 读取文件,配合参数encoding,来自动解析数据
三、场景
用户注册,并保存到文件中
f = open('data/infos.csv',mode='a',encoding='UTF-8')
while True:
name = input('请输入你的用户名:')
if name.upper() == 'Q':
break
password = input('请输入你的密码:')
email = input('请输入你的邮箱:')
info = '{},{},{}\n'.format(name,password,email)
f.write(info) # 往内存中写
f.flush() # 将内存中所有数据强刷到磁盘中
f.close() # close()函数内部实际上有flush的操作