Python基础02
一、运算符
1.算术运算符:+,-,*,/,%,**,//
a = 2
b = 5
print(a + b) #加
print(a - b) #减
print(a * b) #成
print(a / b) #除
print(a % b) #取余
print(a ** b) #幂
print(a // b) #整除
2.比较运算符:==,!=,>,<,>=,<=
a = 2
b = 5
print(a == b) #是否等于
print(a != b) #是否不等于
print(a > b) #大于
print(a < b) #小于
print(a >= b) #大于等于
print(a <= b) #小于等于
3.赋值运算符:=,+=,-=,*=,/=,%=,**=,//=
a = 2
b = 5
s = a + b
print(s) #7
s += a ======> s = s + a #9
s -= a ======> s = s - a
s *= a ======> s = s * a
s /= a ======> s = s / a
s %= a ======> s = s % a
s **= a ======> s = s ** a
s //= a ======> s = s // a
4.逻辑运算符:and,or,not(与或非)
a = 2
b = 5
print(a and b) #5 a是真b是真 返回的是b值
print(a and 0) #0 真真为真 真假位假 必须2个都是真
print(a or b) #2 a是真b是真 只要有一个值为真就是真
print(not a) #False a是真 返回就是错误
print(not 0) #True a是假 返回的就是对的
5.成员运算符:in,notin (在… 不在…)
L = [1, 2, 3, 4]
n1 = 2
n2 = 5
print(n1 in L) #True n1在L里面所以True
print(n2 in L) #False n2没在L里面所以False
print(n1 not in L) #False n1在L里面所以False
print(n2 not in L) #True n2在L里面所以True
二、字符串编码
简介:
0/1 = 1位 = 1bit(最小识别单位)
1字节 = 1 byte = 8位(最小储存单位)
-
ASCII码:英文:一个字节代表一个字符(2**8-1)
-
GBK:中文:两个字节代表一个中文字符(2**16-1)
-
unicode: 两个字节代表一个字符,全球化(2**16-1)
-
utf-8:(避免空间浪费,对unicode的加工):英文:1byte,中文:3bytes,欧洲:2bytes
python3里面,我们的字符编码的实际使用类型
-
内存中,unicode,(用空间换时间)unicode:2byte utf-8: 1byte
-
硬盘中或者网络传输时,utf-8(空间小)
1、编码和解码
各个编码相互转换都要先换成unicode然后在转换
-
编码(encode)和解码(decode)
-
编码(encode):unicode=====>指定其他编码
-
编码(decode):其他编码=====>unicode
例:
#utf-8=======>gbk
s = "世界你好” #代码运行起来时,字符编码是:unicode
utf8 = s.encode("utf-8")
print(utf8) #\xe6\xbd\xad\xe5\xb7\x9e\xe4\xbd\xa0\xe5\xa5\xbd'
utf8_gbk = utf8.decode("utf-8")
print(utf8_gbk) #世界你好
- 字节byte和字符str的相互转换
name = "原擎“
#字符转换为字节
b1 = bytes(name, encoding='utf-8')
b2 = bytes(name, encoding='gbk')
print(b1) #\xe5\x8e\x9f\xe6\x93\x8e'
print(b2) #\xd4\xad\xc7\xe6'
#字节转换为字符
s1 = str(b1, encoding="utf-8")
s2 = str(b2, encoding='gbk')
print(s1) #原擎
print(s2) #原擎