python--运算符,字符编码

运算符

a += 20 # a = a+20

逻辑运算:

  • and 并且的意思. 左右两端的值必须都是真. 运算结果才是真
  • or 或者的意思. 左右两端有一个是真的. 结果就是真. 全部是假. 结果才能是假
  • not 非的意思. 原来是假. 现在是真. 非真即假, 非假既真
  • 先算括号,然后算not, 然后算and ,最后算or
print(3 > 4 or 4 < 3 and 1 == 1)  # False
print(1 < 2 and 3 < 4 or 1 > 2)  # True
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)  # True
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)  # False
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)  # False
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)  # False

x or y 如果x==0 那么就是y, 否则是x

x and y, x为真,值是y,x为假,值是x

false相当于0

print(1 or 2)  # 1
print(2 or 3)  # 2
print(0 or 3)  # 3
print(0 or 4)  # 4
print(0 or 1 or 3 or 0 or 5)  # 1
print(1 and 2)  # 2
print(2 and 0)  # 0
print(0 and 3)  # 0
print(0 and 4)  # 0
print(0 or 4 and 3 or 7 or 9 and 6)  # 3
print(2 > 3 and 3)  # False false相当于0
print(2 < 1 and 4 > 6 or 3 and 4 > 5 or 6)  # 6

字符编码

a = "你好"
a_new = a.decode("utf-8").encode("gbk")  # 第一个里填原来字符串的编码格式(原来的为utf-8),第二个填要转为的格式

decode 解码 encode 编码

abc = '西安'
print(abc.encode('utf-8'))
print('邹邹'.encode('utf-8'))  # 转换为二进制
print(b'xe4xbdxa0xe5xa5xbd'.decode('utf-8'))  # 转换为字符串

结果:

b'xe8xa5xbfxe5xaex89'
b'xe9x82xb9xe9x82xb9'
你好

如果将字符串赋给了abc,则输出时不用引号,没赋值时需要引号。Utf-8必须有引号。二进制转换为字符串不要引号。

原文地址:https://www.cnblogs.com/zouzou-busy/p/12989793.html