一、Python数据类型介绍
- Python数据类型可分为:数字型和非数字型
-
数字型
- 整型(int)
- 浮点型(float)
-
布尔型(bool)
- 真(True)
- 假(False)
-
复数型(complex)
- 主要用于科学计算
-
非数字型
- 字符串(str)
- 列表(list)
- 元组(tuple)
- 字典(dict)
-
在Python中,所有的非数字类型变量,都有一个共同的特点:
- 都是一个序列,可以理解为容器
二、数字类型
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
2.1 数字类型的创建
1
#
!/usr/bin/env python3
2
#
-*-coding:utf-8-*-
3
4
"""
5
@author:fyh
6
@time:2019/5/31
7
"""
8
#
int类型创建
9
a = 10
10
b = 666
11
12
print
(a)
#
10
13
print
(b)
#
666
14
print
(type(a))
#
15
16
#
float类型创建
17
c = 3.14
18
print
(c)
19
print
(type(c))
#
20
21
#
complex类型创建
22
d = 3 + 4j
23
print
(d)
24
print
(type(d))
#
25
26
#
布尔型
27
flag =
True
28
print
(flag)
29
print
(type(flag))
#
ps:type(obj) 函数可以查看变量的类型
2.2 数字类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
- int(x) 将x转换为一个整数
- float(x) 将x转换到一个浮点数
- complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0
- complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式
- bool(x) 将x转换为bool类型,非0为True,0为False
1
#
!/usr/bin/env python3
2
#
-*-coding:utf-8-*-
3
4
"""
5
@author:fyh
6
@time:2019/5/31
7
"""
8
9
#
int(x)
10
var1 = 3.14
11
print
(int(var1))
#
3
12
13
#
float(x)
14
var2 = 3
15
print
(float(var2))
#
3.0
16
17
#
complex(x)
18
var3 = 4
19
var4 = 2
20
print
(complex(var3))
#
(4+0j)
21
#
complex(x, y)
22
print
(complex(var3, var4))
#
(4+2j)
23
24
#
bool(x)
25
var5 = 1
26
print
(bool(var5))
#
True
27
var6 =
0
28
print
(bool(var6))
#
False
ps:数字类型转换时,x只能是数字类型相互转换,若是其它的类型会报错
str1 =
"
a
"
print
(int(str1)) # 会报错
2.3 数学运算
1
#
!/usr/bin/env python3
2
#
-*-coding:utf-8-*-
3
4
"""
5
@author:fyh
6
@time:2019/5/31
7
"""
8
9
print
(2 + 2)
#
4
10
11
print
(50 - 5*5)
#
25
12
13
print
(8 / 5)
#
1.6
14
#
在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //
15
print
(17 / 3)
#
5.666666666666667
16
17
print
(17 // 3)
#
5
18
19
#
注意:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
20
print
(7.0 // 2)
#
3.0
21
print
(7 // 2.0)
#
3.0
22
23
#
%操作符返回除法的余数
24
print
(17 % 3)
#
2
25
26
#
Python 可以使用 ** 操作来进行幂运算
27
print
(5 ** 2)
#
25
28
print
(2 ** 7)
#
128
2.3 数字类型相关的函数
数学相关的函数在math包中
#
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
#
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
#
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
#
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
#
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
#
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
#
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
#
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
#
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
#
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
#
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
#
pow(x, y) x**y 运算后的值。
#
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
#
sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2.0
2.4 小整数对象池
1
>>> a = 5
2
>>> b = 5
3
>>>
id(a),id(b)
4
(1892969616, 1892969616
)
5
>>> c = 500
6
>>> d = 500
7
>>>
id(c),id(d)
8
(2499230475376, 2499234158160
)
9
>>>
小整数对象池: CPython 中整数 -5 到 256 ,永远存在小整数对象池中,不会释放。
对象池:缓存的机制。

