之前在公司一直做的是C语言的开发,然后做的都是业务方面的东西,做的是sdk,因为最近在找工作,然后今天面试的时候被问到C语言和Python的区别,自己只是简单的说了C是静态语言,在变量在使用前进行声明,而Python是动态语言,在使用的时候可以直接使用,不需要声明,C里面没有对象,而Python里面是有对象。现在想想,C语言在运行的时候是需要编译然后运行,而Python是直接run的。

查了查博客:

1.C语言是编译语言,Python是脚本语言。说是C语言会比Python快

(看了看学校oj最简单的A+B问题,C语言的运行事件大致在0ms,而Python是6、7、8、9、10ms都有)

2.list和数组

C语言中的数组,里面的都是数字,而list中可以包含很多不同的数据元素。

2.import和include

在C语言中使用那个库函数,需要引入头文件用include引入,而在python中需要引入别的模块或者函数时需要用import引入。

两者的不同机制是,C语言中include是告诉预处理器,这个include指定的文件的内容,要当作本地源文件出现过,而python中的import可以通过简单的import 导入,或者是 import numpy as np 

3.全局变量方面

在C语言中,声明全局变量,如果值是恒定的,那么可以直接用#define声明,如果只是声明全局,并且变量的值是可变的,那么直接类似int a 就可以了,在python中,声明全局变量时,需要加上global,类似global a,在函数里面使用的时候需要先声明global a ,否则直接用a那么python会重新创建一个新的本地对象并将新的值赋值给他,原来的全局变量的值并不变化

比如

global a
a = 3
def func():
    a = 4
    print(a)

func()
print(a)

运行结果:
4
3

而这段代码

global a
a = 3
def func():
    global a
    a = 4
    print(a)

func()
print(a)
运行结果
4
4