【Python零基础到入门】Python基础语法篇——整数、浮点数 学习
📢 前言
-
本文章是【
Python零基础到入门专栏
】学习的系列文章 -
Python学习专栏 传送门 在此:https://blog.csdn.net/zhangay1998/category_11086734.html
-
本篇文章来说一下Python 的数字(Number),也是Python之路上一个必备的操作~
-
提示:本文的环境配置是
Python3
的开发环境,后续教程也都是Python3
👑Python基础语法篇——数字(Number)
今天来讲讲Python中的数字类型,包括整数
、浮点数
和 复数
Python 数字数据类型用于存储数值。
数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。
-
整型(int)
- 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。 -
浮点型(float)
- 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250) -
复数( (complex))
- 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
🚩整数
整数 就是没有小数部分的数字,Python 中的整数包括正整数、0 和负整数。
-
有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。
-
例如C语言提供了 short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。
-
而 Python 的整数不分类型,或者说它只有一种类型的整数。
-
Python 整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。
-
当所用数值超过计算机自身的计算能力时,Python 会自动转用高精度计算(大数计算)。
整数 代码示例如下:
#将 78 赋值给变量 n
n = 78
print(n)
print( type(n) )
#给x赋值一个很大的整数
x = 8888888888888888888888
print(x)
print( type(x) )
#给y赋值一个很小的整数
y = -7777777777777777777777
print(y)
print( type(y) )
上述代码输出结果:
78
<class ‘int’>
8888888888888888888888
<class ‘int’>
-7777777777777777777777
<class ‘int’>
🚩浮点数
浮点数 就是我们数学中的小数,例如 12.3、345.0、0.123
书写小数时必须包含一个小数点,否则会被 Python 当作整数处理。
Python中的浮点数有两种写法,分别是:
- 十进制形式。就是我们上面所说的小数形式
- 指数形式,
aEn 或 aen
。a 为尾数部分,是一个十进制数;n 为指数部分,是一个十进制整数;E或e是固定的字符,用于分割尾数部分和指数部分。整个表达式等价于 a×10n。例如:2.1E5 = 2.1×10^5
,其中 2.1 是尾数,5 是指数。3.7E-2 = 3.7×10^-2
,其中 3.7 是尾数,-2 是指数。0.5E7 = 0.5×10^7
,其中 0.5 是尾数,7 是指数。
注意点:只要写成指数形式就是小数,即使它的最终值看起来像一个整数。例如 14E3 等价于 14000,但 14E3 是一个小数。
浮点数 代码示例如下:
f1 = 12.5
print("f1Value: ", f1)
print("f1Type: ", type(f1))
f2 = 0.34557808421257003
print("f2Value: ", f2)
f3 = 0.0000000000000000000000000847
print("f3Value: ", f3)
f4 = 345679745132456787324523453.45006
print("f4Value: ", f4)
f5 = 12e4
print("f5Value: ", f5)
f6 = 12.3 * 0.1
print("f6Value: ", f6)
上述代码输出结果:
f1Value: 12.5
f1Type: <class ‘float’>
f2Value: 0.34557808421257
f3Value: 8.47e-26
f4Value: 3.456797451324568e+26
f5Value: 120000.0
f6Value: 1.2300000000000002
注意点:
12.3*0.1
的计算结果很明显是 1.23,但是 print 的输出却不精确
这是因为小数在内存中是以二进制形式存储的,小数点后面的部分在转换成二进制时很有可能是一串无限循环的数字,无论如何都不能精确表示,所以小数的计算结果一般都是不精确的。
- 点赞
- 收藏
- 关注作者
评论(0)