Python基础-基础数据类型2

一、运算符

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)      #原擎
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值