平时学习使用的语言较多是C++Python平時一般是用来简单掉包、数据分析使用的,但最近面试发现用C++做笔试题又慢又繁琐,朋友用Python做的比我快多了(也可能因为算法实在太菜叻/哭)故写该博客记录C++与Python的不同点,方便自己复习回顾
- 本文适合对C++和Python都用了解的朋友;
- 博主也是菜鸟一枚,有错误希望大家严厉批评
在C++中,main函数内的变量不是全局变量而是局部变量,只不过它的生命周期和全局变量一样长而已而全局变量一定是定义在函数外部的。
在Python中main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量
在C++和Python中,全局变量和局部变量用同一个名字内层都會屏蔽外层。
而在Python中有globel语句强制使局部变量转为全局变量但一般不推荐使用:
在C++中,调用非inline函数会将更多的东西入栈进而在函数返回時为程序带来负担,但一般为了增强可读性还是会选择使用函数,当然效率的降低一般可以忽略
但在Python中,如果只是把所有代码扔进一個文件而没有把它们放进函数那么它会因为众多的全局变量而变慢。因此可以通过将所有代码封装、在 main函数中并调用来实现加速。