c語言和python的區(qū)別
1、語言類型不同。
Python是一種動態(tài)類型語言,又是強(qiáng)類型語言。它們確定一個變量的類型是在您*次給它賦值的時候。C 是靜態(tài)類型語言,一種在編譯期間就確定數(shù)據(jù)類型的語言。大多數(shù)靜態(tài)類型語言是通過要求在使用任一變量之前聲明其數(shù)據(jù)類型來保證這一點的。
2、對象機(jī)制不同。
Python中所有的數(shù)據(jù),都是由對象或者對象之間的關(guān)系表示的,函數(shù)是對象,字符串是對象,每個東西都是對象的概念。每一個對象都有三種屬性: 實體,類型和值。
C中沒有對象這個概念,只有"數(shù)據(jù)的表示",比如說,如果有兩個int變量a和b,想比較大小,可以用a == b來判斷,但是如果是兩個字符串變量a和b,就不得不用strcmp來比較了,因為此時,a和b本質(zhì)上是指向字符串的指針,如果直接用==比較, 那比較的實際是指針中存儲的值地址。
3、變量類型不同。
python六個標(biāo)準(zhǔn)的數(shù)據(jù)類型:Number數(shù)字、String字符串、List列表、Tuple元祖、Sets集合、Dictionary字典,數(shù)字類型有四種類型:整數(shù)、布爾型、浮點數(shù)和復(fù)數(shù)。C語言也可分四類:基本類型、枚舉類型、void的類型、派生類型?;绢愋?整數(shù)類型、浮點類型。
4、函數(shù)庫的使用方法不同。
在C語言中使用那個庫函數(shù),需要引入頭文件用include引入,而在python中需要引入別的模塊或者函數(shù)時需要用import引入。
兩者的不同機(jī)制是C語言中include是告訴預(yù)處理器,這個include指定的文件的內(nèi)容,要當(dāng)作本地源文件出現(xiàn)過,而python中的import可以通過簡單的import 導(dǎo)入,或者是 import numpy as np 。
5、全局變量不同。
在C語言中,聲明全局變量,如果值是恒定的,那么可以直接用#define聲明,如果只是聲明全局,并且變量的值是可變的,那么直接類似int a 就可以了。
在python中,聲明全局變量時,需要加上global,類似global a,在函數(shù)里面使用的時候需要先聲明global a ,否則直接用a那么python會重新創(chuàng)建一個新的本地對象并將新的值賦值給他,原來的全局變量的值并不變化。