诸君晚上好,现在是🌃晚上,今天是学习python的第四个学习日,不知不觉学了四天了,还是那句话:不积跬步无以至千里、不积小流无以成江海!
暂时回顾下前面的学习日吧:
第一个学习日-----随便看看python的百科
第二个学习日-----认识了print
第三个学习日-----初步认识了python的数据类型
ok,诸君跟随咱家一起进入第四个学习日-----详细学习python的数据类型吧!
说到数据类型,首先会想到什么呢?
我是学java的,平时开发项目最多的就是 long 、int、String 、BigDecimal......
啊。。。。。。讨厌学习理论,理论性的文字只要一多起来就头疼!
那么,重点来了,今天的学习,以下来自大语言模型之产品cha tGPT的回答:
在Python中,你也会使用一些基本的数据类型,虽然命名和具体的用法可能有所不同。以下是几种在Python中常用的数据类型:
-
int: 与Java中的整数相似,用于表示整数值。
age = 25
-
float: 与Java中的浮点数相似,用于表示带有小数点的数字。
height = 1.75
-
str: 与Java的字符串类似,用于表示文本。
name = "John"
-
bool: 与Java的布尔类型相似,用于表示布尔值(True或False)。
is_student = True
-
list: 与Java的ArrayList相似,用于表示有序的可变序列。
numbers = [1, 2, 3, 4, 5]
-
tuple: 与Java的数组相似,用于表示有序的不可变序列。
coordinates = (10, 20)
-
dict: 与Java的Map(或HashMap)相似,用于表示键值对的集合。
person = {"name": "Alice", "age": 30}
-
set: 与Java的Set相似,用于表示无序、唯一的元素集合。
unique_numbers = {1, 2, 3, 4, 5}
-
Decimal: 与Java的BigDecimal相似,用于处理精确的十进制浮点数。
from decimal import Decimal price = Decimal('19.99')
看文字叙述无聊,诸君跟我一起动手写代码,一个接一个试试,请看图片:
震惊!!!python竟然不支持字符串拼接直接强制转换!!!!好吧,java大哥我想你了......
那我试试,先把 int 强制转换 成字符串 str ,诸君跟我一起看:
正如我所料!!!!成功了,还可以这样事先转换,诸君请看:
嘻嘻嘻,咱家好像get到了python语法的奥义!!!!!那就趁热打铁试试其他的数据类型,
int str 已经掌握的差不多了,来试试float :
可以看到 3.00 float 被str强制转换后是3.0 那么再试试 3.0 :
再试试 3
那么是不是说明 float 再p ython中也是单精度浮点型呢?咱们试试 3.01:
啪啪打脸,说明float 不是单精度浮点型,那是双精度还是多精度呢?诸君同我一起试试3.015 :
这是不是说明float是多精度浮点型? 哈哈,多精度浮点型这个概念好像是我随口说的。但是据资料显示,python 中没有double 类型。
据chatGPT说:
在 Python 中,通常不需要显式区分单精度浮点数和双精度浮点数,因为 Python 的 float
类型默认使用双精度浮点数的标准(64 位)。这使得 Python 在处理一般数值计算和科学计算时足够精确。
例如:
x = 3.1415926
在这里,变量 x
是一个双精度浮点数,Python 的 float
类型使用 64 位内存存储浮点数。
如果你需要更高精度的十进制浮点数,你可以使用 decimal
模块中的 Decimal
类。这允许你指定所需的精度。但在大多数情况下,Python 的默认浮点数精度已经足够满足一般需求,而不需要显式地区分单精度和双精度。
以上是chatGPT说的,那 decimal
Decimal类怎么用呢?诸君跟我一起看看:
上述代码中,额,混个眼熟吧,捂脸,遇到具体问题才能深刻理解。好吧,今天学累了,感谢诸君的学习陪伴,我们下个学习日再见!!
2024-02-22