这是python比c“高级”的一个特性,使用变量之前不需要定义变量的类型。这让初学者感觉非常方便,但对于“老码农”来说,却存在很大的一个坑,只有在实际项目中使用过的人才深有体会。
以前偶学c的时候,也感觉定义一个变量,非要先给他定义一个类型非常麻烦,因为往往偶既然使用一个变量,那么偶就敢保证不会在他是什么类型上出错,感觉先定义他的类型很多余。
直到偶做了几个项目之后才发现,使用变量前先定义他的类型,是多么的有必要。
最常见的例子就是在实际的项目中,为了便于之后的维护,那么变量名都应该有一个便于理解的名称,比如teacher,中文意思是老师,那么偶会用这个词作为定义老师的一个变量。
但如果在之后的引用中,你写成techer,在python中是不会报错的。python会把他定义为一个新的变量,这会导致如果程序没运行到这一行,你永远不知道他错了。或者运行到这一行,程序可以正常运行,但永远拿不到正确的结果。
这会让你花大量的时间来排查,这个时间远远要比在使用变量前定义他是int还是str要多得多!
而在c中,这个变量没有被定义过,当程序进行编译的时候,就会报错。这可以省去非常多不必要的麻烦。
有时候不是你仔细就不会出错,毕竟在项目开发中,你还需要和别人配合写代码,你不能保证别人不写错。
python的语法虽然比c简单,但不一定简单都是好的,对于程序来说,“规则”比简便更高效。