3.数据类型-数字

数字(Number)

​ Python3 中数字一共有四种类型:

  • 1.整数(int):1,2,3,4…(Python 中只有一种整形,没有 long)
  • 2.布尔值(bool):True 和 False
  • 3.浮点数(float):1.23 和 3E-2
  • 4.复数(complex):1 + 2j 和 1.1 + 2.2j
is_int = 10
is_bool = True
is_float = 1.23
is_complex = 1 + 2j
print(type(is_int))
print(type(is_bool))
print(type(is_float))
print(type(is_complex))

​ 输出样例:

<class 'int'>
<class 'bool'>
<class 'float'>
<class 'complex'>

运算符

​ 运算符包含:①算数运算符;②关系(比较)运算符;③赋值运算符;④位运算符;⑤逻辑运算符;⑥成员运算符;⑦身份运算符

算数运算符

符号含义
a + b两个对象相加
a - b得到负数或是一个数减去另一个数
a * b两个数相乘或是返回一个被重复若干次的字符串
a / bx 除以 y(返回浮点数)
a % b返回除法的余数
a ** b返回 x 的 y 次幂
a // b整除,返回商的整数部分(返回整数,向下取整)
  • 取余公式:a % b = a - b*(a//b)
  • 浮点数和整形混合运算的时候,会将整形转化为浮点数。
a, b = 3, 4
print(a, b)
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(b % a)
print(a ** b)
print(b // a)

​ 输出样例:

3 4
7
-1
12
0.75
1
81
1

关系(比较)运算符

符号含义
a == b比较对象是否相等
a != b比较两个对象是否不相等(Python3.x 取消了<>关系运算符)
a > b返回x是否大于y
a < b返回x是否小于y。
a >= b返回x是否大于等于y
a <= b返回x是否小于等于y
  • 所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。
a, b = 3, 5
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)

​ 输出样例:

False
True
False
True
False
True

赋值运算符

符号含义
=简单的赋值运算符;c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符; c += a 等效于 c = c + a
-=减法赋值运算符; c -= a 等效于 c = c - a
*=乘法赋值运算符; c *= a 等效于 c = c * a
/=除法赋值运算符; c /= a 等效于 c = c / a
%=取模赋值运算符; c %= a 等效于 c = c % a
**=幂赋值运算符; c **= a 等效于 c = c ** a
//=取整除赋值运算符; c //= a 等效于 c = c // a
  • Python可以同时为多个变量赋值,如 a, b = 1, 2。也可以连续赋值,如:a = b = 2
a, b, c = 3, 4, 0
c = a + b
print(c)
c += a
print(c)
c -= a
print(c)
c *= a
print(c)
c /= a
print(c)
c %= a
print(c)
c **= a
print(c)
c //= a
print(c)

​ 输出样例:

7
10
7
21
7.0
1.0
1.0
0.0

位运算符

​ 位运算是将数字看做二进制来进行计算。

符号含义
a & b(按位与)对应位都为 1 时结果为 1,否则为 0。
a | b(按位或)对应位置至少存在一个 1 时结果为 1,否则为 0。
a ^ b(按位异或)对应位置不同时结果为 1,否则为 0。
~ a将某二进制位取反。
a << b将 a 的各个二进制位相左(高位)移动 b 个位置,高位丢弃,低位补 0。
a >> b将 a 的各个二进制位相右(低位)移动 b 个位置。
a, b = 7, 2 # 111, 010
print(a & b)
print(a | b)
print(a ^ b)
print(~ a)
print(a << b)
print(a >> b)

​ 输出样例:

2
7
5
-8
28
1

逻辑运算符

符号含义
a and b如果 a 为 False 返回 False,否则返回 b 的值。
a or b如果 a 为 True 返回 True,否则返回 b 的值。
not a如果 a 为 True 返回 False,否则返回 True。
a, b = True, False
print(a and b)
print(a or b)
print(not a)
print(not b)

​ 输出样例:

False
True
False
True

成员运算符

符号含义
a in b如果 a 指定的序列 b 中,返回 True,否则返回 False。
a not in b如果 a 不在指定的序列 b 中,返回 True,否则返回 False。
  • 其中的序列也可以是字符串。
a, b, c = 3, 5, "a"
lst = [1, 2, 3, 4, 6, 7]
s = "bcdefg"
print(a in lst)
print(b not in lst)
print(c in s)

​ 输出样例:

True
True
False

身份运算符

符号含义
a is b判断两个变量是不是引用自同一个对象。
a is not b判断两个变量是不是引用自不同对象。
  • 对于小于 256 的整数,如果值相等,则分配同样的内存 id,所以用 is 会返回 True。
  • 对于大于 256 的整数,根据具体赋值定地址。
a = 256
b = 256
c = 257
d = 257
e = f = 257
g, h = 257, 257
print(a is b)
print(c is d)
print(e is f)
print(g is h)

​ 输出样例:

True
False
True
True

运算符优先级

​ 运算符优先级(从高到低):

符号含义
**指数
~按位翻转
* / % //乘、除、取模、整除
+ -加、减
>> <<右移、左移
& and按位与
^ |按位异或、按位或
<= < > >=小于等于、小于、大于、大于等于
== !=等于、不等于
= %= /= //= -= += *= **=各类赋值运算符
is、is not身份运算符
in、not in成员运算符
and or not逻辑运算符

进制转化

手动计算进制转化

​ 常用进制的前缀:①二进制以 0b 开头,②八进制以0o开头,③十六进制以0x开头

print(0b1101010)# 106
print(0o125)    # 85
print(0x3f2a1)  # 258721

使用函数进行进制转化

  • 如果字符串表示的进制数不满足后面填写的,会报错。
print(int("1101010", 2))
print(bin(106))
print(int("125", 8))
print(oct(85))
print(int("3f2a1", 16))
print(hex(258721))
106
0b1101010
85
0o125
258721
0x3f2a1
  • 八进制 ⇔ \Leftrightarrow 二进制:
# 八进制 -> 二进制
print(bin(0o125))
print(bin(int("125", 8)))

# 二进制 -> 八进制
print(oct(0b1101010))
print(oct(int("1101010", 2)))
  • 十六进制 ⇔ \Leftrightarrow 二进制:
# 十六进制 -> 二进制
print(bin(0x3f2a1))
print(bin(int("3f2a1", 16)))

# 二进制 -> 十六进制
print(hex(0b1101010))
print(hex(int("1101010", 2)))
  • 十六进制 ⇔ \Leftrightarrow 八进制:
# 十六进制 -> 八进制
print(oct(0x3f2a1))
print(oct(int("3f2a1", 16)))

# 八进制 -> 十六进制
print(hex(0o125))
print(hex(int("125", 8)))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值