python可以自动回收垃圾吗 C跟python差别?

[更新]
·
·
分类:互联网
1536 阅读

python可以自动回收垃圾吗

C跟python差别?

C跟python差别?

1、语言类型
Python是一种基于解释器的语言,解释器会逐行读取代码;首先将Python编译为字节码,然后由大型C程序解释。
C是一种编译语言,完整的源代码将直接编译为机器代码,由CPU直接执行。
2、内存管理
Python使用自动垃圾收集器进行内存管理。
在C语言中,程序员必须自己进行内存管理。
3、应用
Python是一种通用编程语言,一个多范式。它主要支持面向对象编程,程序编程,函数编程。
C是结构化编程语言。允许使用函数,选择(if / else等),迭代(循环)。它主要用于硬件相关的应用程序。
4、速度
Python编程语言因为历史原因,有一个GIL锁,导致其对多线程支持不够好,运行速度较慢;而C语言很快,C语言是比较底层的语言,运行效率上要优于Python。
5、复杂度不一样
在Python中,不需要声明变量类型。而在C中,必须声明变量类型。
Python程序更易于学习,编写和阅读。而C程序语法比Python更难。
Python中的测试和调试更容易;而在C中测试和调试更难。

请问Jython和Python的关系是什么?

(1)我们通常意义上说的python是CPython,也就是完全用C实现的python,它支持C的扩展,不支持java什么的扩展。
(2)JPython是完全用JPython实现的python,它支持用java扩展,貌似无法用C扩展。
(3)这两个东东如果不讨论什么特殊的模块的话,当然用法相同,打个比方,现在用一个项目,让你用Fortran来实现python,那你也会尽可能的保持其语法上与另外两个主流的interpret一致。
(4)这两个东东,当然有区别,例如CPython就没有JPython的垃圾回收机制(5)python还有其他的实现,例如有用.NET实现的.......全是C#--------------------------------------------------------------------------(6)至于你说谁的扩展好,我感觉这个很难说,要依据你要写什么类型的工程来定(7)python挺不错的,现在NASA火星上的那个“好奇号”的程序都是用java编写的,可能下一个就是python啦!!!!