变量中的变量值是用来存储事物状态的,事物的状态分成不同的种类(例如:人的姓名、年龄,身高、职位、工资等),因此变量值有多种不同的数据类型。
age = 18 # 用整型记录年龄
salary = 3.1 # 用浮点型记录工资
name = 'kitty' # 用字符串记录姓名
一、数字类型
分为:整型--->int,浮点型--->float,复数型--->complex
常用的为int、float
1:int(整型)-通常被称为是整型或整数,是正或负整数,不带小数点
整型的定义:age = 18,height = 168
2:float(浮点型)- 浮点型由整数部分与小数部分组成
浮点型的定义:grade = 95.5, weight = 100.45
浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
3:complex(复数型)- 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
复数型的定义:number = 3 + 5j
二、数字类型的相互转化
1:通过类型函数来转化:int(),float()
a = 3.5
print(int(a)) # 3
b = 3
print(float(b)) # 3.0
2:通过运算来转化
a = 3/2.0
print(a, type(a)) # 1.5 <class 'float'>
a = 3//2
print(a, type(a)) # 1 <class 'int'>
三、数字类型的使用
1:数学运算
首先了解一下算术运算符:
运算符 | 含义 |
---|---|
+ | 加-两个对象相加 |
- | 减-两个对象相减 |
* | 乘-两个数相乘或返回一个被重复若干次的字符串 |
/ | 除-两个数相除 |
% | 取余-取两个数相除的余数 |
// | 取整除(向下取整)-向下取两个数相除接近商的整数 |
** | 幂-返回x的y次幂 |
例:
a = 5
b = 6
# +
print(a + b) # 11
# -
print(a - b) # -1
# *
print(a * b) # 30
# /
print(b / a) # 1.2
# %
print(b % a) # 1
# //
print(b // a) # 1
# **
print(a**b) # 15625
注意:当两个数相除的结果为负数,向下取整,是取小于当前结果的最大负整数
a = -5
b = 3
print(a / b) # -1.6666666666666667
print(a // b) # -2
2:比较大小
先了解一下比较运算符:
运算符 | 含义 |
---|---|
= | 等于-比较两个对象的值是否相等 |
!= | 不等于-比较两个对象的值是否不相等 |
> | 大于-比较一个对象的值是否大于另一个对象的值 |
< | 小于-比较一个对象的值是否小于另一个对象的值 |
>= | 大于等于-比较一个对象的值是否大于等于另一个对象的值 |
<= | 小于等于-比较一个对象的值是否小于等于另一个对象的值 |
两个数进行比较运算,得到的值是bool类型(True、False)的。
例:
a = 10
b = 5
print(a == b) # False
print(a != b) # True
print(a > b) # True
print(a < b) # False
print(a >= b) # True
print(a <= b) # False
3 :赋值运算
先了解一下赋值运算符
运算符 | 含义 |
---|---|
= | 赋值,将一个对象的值赋值给另一个对象 |
+= | 加法赋值-例:a+=b, 即a = a+b |
-= | 减法赋值-例:a-=b, 即a = a-b |
*= | 乘法赋值-例:a*=b, 即a = a*b |
/= | 除法赋值-例:a/=b, 即a = a/b |
%= | 取余赋值-例:a%=b, 即a = a%b |
//= | 取整赋值-例:a//=b, 即a = a//b |
**= | 幂赋值-例:a**=b, 即a = a**b |
例:
b = 10
a = b
print(a) # 10
print(id(a), id(b)) # 1845658000 1845658000
id(object)是得到这个对象的内存地址,“=”,两个对象进行赋值操作后,指向的是同一个内存地址。
a = 5
b = 10
a += b
print(a, b) # 15 10
# a -= b
# print(a, b) # -5 10
# a *= b
# print(a, b) # 50 10
# a /= b
# print(a, b) # 0.5 10
# a %= b
# print(a, b) # 5 10
# a //= b
# print(a, b) # 0 10
# a **= b
# print(a, b) # 9765625 10
4:位运算
按位运算符是把数字看做二进制来进行计算的。
位运算符:
运算符 | 含义 |
---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 |
例:
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b # 0000 1100 = 12
print (c) # 12
c = a | b # 0011 1101 = 61
print (c) # 61
c = a ^ b # 0011 0001 = 49
print (c) # 49
c = ~a # 1100 0011 = -61
print (c) # -61
c = a << 2 # 1111 0000 = 240
print (c) # 240
c = a >> 2 # 0000 1111 = 15
print (c) # 15