【Python零基础到入门】Python基础语法篇——整数、浮点数 学习

举报
呆呆敲代码的小Y 发表于 2022/02/24 12:01:59 2022/02/24
【摘要】 📢 前言本文章是【Python零基础到入门专栏】学习的系列文章Python学习专栏 传送门 在此:https://blog.csdn.net/zhangay1998/category_11086734.html 本篇文章来说一下Python 的数字(Number),也是Python之路上一个必备的操作~提示:本文的环境配置是Python3的开发环境,后续教程也都是Python3 👑Py...

请添加图片描述

📢 前言


👑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中的浮点数有两种写法,分别是:

  1. 十进制形式。就是我们上面所说的小数形式
  2. 指数形式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 的输出却不精确
这是因为小数在内存中是以二进制形式存储的,小数点后面的部分在转换成二进制时很有可能是一串无限循环的数字,无论如何都不能精确表示,所以小数的计算结果一般都是不精确的。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。