鱼C论坛

 找回密码
 立即注册
查看: 2162|回复: 9

数据类型

[复制链接]
发表于 2023-4-22 08:26:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么小甲鱼教材中说python的变量没有数据类型?整型、字符型、浮点型、布尔型这些不就是嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-22 08:56:51 | 显示全部楼层
小甲鱼的说法可能是想强调 Python 的变量是动态类型的,而不是强调它没有数据类型。在 Python 中,变量的类型是根据其所存储的数据来决定的,这就意味着在程序运行过程中,变量可以存储不同类型的数据。例如,一个变量可以先存储一个整数,然后再存储一个字符串。这种特性让 Python 编程更加灵活。

在很多静态类型的编程语言中,比如 C++ 和 Java,变量的类型需要在声明时就确定,并且在程序运行过程中不能改变。这与 Python 的动态类型有很大的区别。

当然,Python 确实有很多数据类型,如整型(int)、字符型(str)、浮点型(float)和布尔型(bool)。这些类型都是 Python 支持的基本数据类型,但与静态类型语言不同,你不需要在声明变量时指定这些类型。Python 会根据变量所存储的数据自动推断其类型。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 08:57:20 | 显示全部楼层
在python中,变量在定义时不需要指定数据类型。而是通过解释器动态推断出变量的数据类型。这就是所谓的动态类型语言。当我们使用变量时,python会自动识别该变量的数据类型。

虽然python的变量没有像其他编程语言一样需要在定义时明确指定数据类型,但事实上,每个变量仍然具有其对应的数据类型。例如整型、字符型、浮点型、布尔型等。因此,当我们定义一个变量并给它赋值时,python会将该变量保存为特定的数据类型,并且在后续的程序执行过程中保持该类型。

总结来说,python的变量虽然没有显示声明其数据类型,但是变量本身仍然具有数据类型的概念,是与其所代表的数值绑定的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 09:46:01 | 显示全部楼层
Python的变量确实没有数据类型,但是Python的值是有类型的。也就是说,变量在赋值时不需要指定数据类型,它会根据所赋的值自动推导出数据类型。例如,变量a赋值为1,Python会自动将a的类型推导为整型。同样地,如果变量a赋值为"hello",Python会自动将a的类型推导为字符串类型。因此,整型、字符型、浮点型、布尔型等数据类型是Python值的类型,而不是Python变量的类型。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-22 11:25:50 | 显示全部楼层
陶远航 发表于 2023-4-22 09:46
Python的变量确实没有数据类型,但是Python的值是有类型的。也就是说,变量在赋值时不需要指定数据类型,它 ...

其他语言难道不是也这样赋值的吗?初学者编程小白,不懂莫怪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-4-22 11:30:13 | 显示全部楼层
比如C++是这样赋值的:
int a = 1
而Python是这样的:
a = 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-22 12:03:56 | 显示全部楼层
陶远航 发表于 2023-4-22 11:30
比如C++是这样赋值的:

而Python是这样的:

原来如此,我以为所有语言赋值都是   变量名 = 值  这样呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 12:48:27 | 显示全部楼层
lzb1001 发表于 2023-4-22 12:03
原来如此,我以为所有语言赋值都是   变量名 = 值  这样呢


他说的不完全对,python 也可以指定类型:
>>> a: int = 1
>>> a
1
>>> # 虽然是这样,可是类型不一定要匹配,不匹配也没关系
>>> a: str = 1
>>> print("type:", type(a))
type: <class 'int'>
>>> a
1
这称作“注解”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-22 14:30:51 | 显示全部楼层
歌者文明清理员 发表于 2023-4-22 12:48
他说的不完全对,python 也可以指定类型:

这称作“注解”

非常感谢热心大神的补充
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 18:26:25 | 显示全部楼层
lzb1001 发表于 2023-4-22 12:03
原来如此,我以为所有语言赋值都是   变量名 = 值  这样呢

我现在加不了好友,等我到中级鱼油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 15:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表