Python太火热了,各种广告图文和短视频铺天盖地,火到一个文员都逃不过这波浪潮,仿佛不学就会被时代OUT的感觉。
而作为编程界的老大哥C语言,目前在依旧处于编程语言排行榜的第一位置,而Python又是用C语言来实现的,那么问题来了,Python和C语言区别之处在于哪里?
程序员的日常娱乐
区别一:语言类型不同。
Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时候。
C是静态类型语言,一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。
区别二:内存管理不同。
Python使用自动垃圾收集器进行内存管理,在C语言中,程序员必须自己进行内存管理。
区别三:对象机制不同。
Python中所有的数据,都是由对象或者对象之间的关系表示的,函数是对象,字符串是对象,每个东西都是对象的概念。每一个对象都有三种属性: 实体,类型和值。
C中没有对象这个概念,只有"数据的表示",比如说,如果有两个int变量a和b,想比较大小,可以用a == b来判断,但是如果是两个字符串变量a和b,就不得不用strcmp来比较了,因为此时,a和b本质上是指向字符串的指针,如果直接用==比较, 那比较的实际是指针中存储的值地址。
区别四:运行速率不同。
Python编程语言因为历史原因,有一个GIL锁,导致其对多线程支持不够好,运行速度较慢;而C语言很快,C语言是比较底层的语言,运行效率上要优于Python。
区别五:变量类型不同。
python六个标准的数据类型:Number数字、String字符串、List列表、Tuple元祖、Sets集合、Dictionary字典,数字类型有四种类型:整数、布尔型、浮点数和复数。
C语言也可分四类:基本类型、枚举类型、void的类型、派生类型。基本类型:整数类型、浮点类型。
区别六:函数库的使用方法不同。
在C语言中使用那个库函数,需要引入头文件用include引入,而在python中需要引入别的模块或者函数时需要用import引入。
两者的不同机制是C语言中include是告诉预处理器,这个include指定的文件的内容,要当作本地源文件出现过,而python中的import可以通过简单的import导入,或者是import numpy as np。
区别七:复杂度不同。
在Python中,不需要声明变量类型。而在C中,必须声明变量类型。
在C语言中,声明全局变量,如果值是恒定的,那么可以直接用#define声明,如果只是声明全局,并且变量的值是可变的,那么直接类似int a就可以了。
在python中,声明全局变量时,需要加上global,类似global a,在函数里面使用的时候需要先声明global a ,否则直接用a那么python会重新创建一个新的本地对象并将新的值赋值给他,原来的全局变量的值并不变化。
Python程序更易于学习,编写和阅读。而C程序语法比Python更难。
Python中的测试和调试更容易;而在C中测试和调试更难。