引子和问题
昨晚出了点紧急状况,几乎一夜无眠。疫情形势还很严峻,请大家一定要做好防护,认真对待。
今天来说说关于Python类型的两个问题吧。这个问题大部分人都会回答错误,或者理解不到位。
1.Python是强类型还是弱类型?
2.Python是静态类型还是动态类型?
代码例子
看这个代码例子:
a = 9527
# 打印a的类型
print(type(a))
a = '大叔'
# 再次打印a的类型
print(type(a))
打印的结果如下:
<class 'int'>
<class 'str'>
变量和值不是一回事!
理解这个问题的关键在于认识到:「变量和值不是一回事!」
变量就像一个可擦除的便签条,上面保存了指向对象的引用。而对象是冰箱,洗碗机等可以张贴便签条的具体物体。
最开始「变量a」是指向「数字9527」的。
当我们再次赋值的时候,它又指向了「字符串大叔」。
在这个过程中并不是数字9527变成了字符串大叔,「而是变量a的指向发生了变化」。
问题答案
理解了上面以后,我们来看上面问题的答案:
1.「Python是强类型」:任何一个对象都有属于自己的类型,对象一旦创建,它的类型不会发生改变,除非使用专门的类型转换方法。
❝ 请注意区分:这个问题说的是对象。下面的问题说的是变量(引用)。
❞
2.「Python是动态类型」:Python的变量(引用)本身是没有类型的,它可以随意变换它所指向的对象。
❝ 这不同于C或C++等静态类型语言。静态类型语言中,变量自己也有类型,一旦确定就不能改变,一旦指向就不能改变,是忠贞不二的。
❞
明白了吗?
下面是一个按照类型强弱和动静分布的编程语言图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c21e937a27d8218cea5b96a159a41c1f.png#pic_center)
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。