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