楼主: CDA网校
399 0

[每天一个数据分析师] 说说Python类型的问题,90%的人回答错误 [推广有奖]

管理员

已卖:189份资源

泰斗

4%

还不是VIP/贵宾

-

威望
3
论坛币
120347 个
通用积分
11135.8062
学术水平
278 点
热心指数
286 点
信用等级
253 点
经验
229028 点
帖子
6989
精华
19
在线时间
4389 小时
注册时间
2019-9-13
最后登录
2026-1-22

初级热心勋章

楼主
CDA网校 学生认证  发表于 2022-4-21 10:10:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

作者:麦叔

来源:麦叔编程

引子和问题

昨晚出了点紧急状况,几乎一夜无眠。疫情形势还很严峻,请大家一定要做好防护,认真对待。

今天来说说关于Python类型的两个问题吧。这个问题大部分人都会回答错误,或者理解不到位。

  • Python是强类型还是弱类型?
  • Python是静态类型还是动态类型?
代码例子

看这个代码例子:

a = 9527 # 打印a的类型 print(type(a))a = '麦叔' # 再次打印a的类型 print(type(a))

打印的结果如下:

<class 'int'> <class 'str'> 变量和值不是一回事!

理解这个问题的关键在于认识到:「变量和值不是一回事!」

变量就像一个可擦除的便签条,上面保存了指向对象的引用。而对象是冰箱,洗碗机等可以张贴便签条的具体物体。

最开始「变量a」是指向「数字9527」的。


当我们再次赋值的时候,它又指向了「字符串麦叔」。


在这个过程中并不是数字9527变成了字符串麦叔,「而是变量a的指向发生了变化」。

问题答案

理解了上面以后,我们来看上面问题的答案:

  • 「Python是强类型」:任何一个对象都有属于自己的类型,对象一旦创建,它的类型不会发生改变,除非使用专门的类型转换方法。❝请注意区分:这个问题说的是对象。下面的问题说的是变量(引用)。
  • 「Python是动态类型」:Python的变量(引用)本身是没有类型的,它可以随意变换它所指向的对象。❝这不同于C或C++等静态类型语言。静态类型语言中,变量自己也有类型,一旦确定就不能改变,一旦指向就不能改变,是忠贞不二的。

明白了吗?

下面是一个按照类型强弱和动静分布的编程语言图:



编辑推荐
1、2022年300个以上最佳免费数据科学课程
2、大厂数据分析面试指南!来自亚马逊、谷歌、微软、头条、美团的面试问题!
3、机器学习模型方法总结
4、历史最全机器学习/深度学习/人工智能专业术语表中英对照表
5、机器学习如何应用于商业场景?三个真实的商业项目
6、数据工作者的自我修养 | 哪些技能是必不可少的?
7、《汗牛充栋:数据分析书籍分享》CDA网校新课上线
8、文本挖掘常用的107个语料库
9、一图读懂“东数西算”工程
10、零基础转行数据分析,看这篇文章就够了

DA内容精选
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-28 03:30