之前在公司一直做的是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