眾多編程語(yǔ)言當(dāng)中,Python與C語(yǔ)言可以說(shuō)是比較火的編程語(yǔ)言了。隨著人工智能的興起,讓Python與C語(yǔ)言成為人們比較熟知的語(yǔ)言。Python被稱為最容易學(xué)習(xí)的語(yǔ)言。 現(xiàn)在,許多高校已經(jīng)開(kāi)始使用Python作為新生的入門語(yǔ)言。很多人在剛剛開(kāi)始接觸Python時(shí),發(fā)現(xiàn)Python確實(shí)與其他語(yǔ)言完全不同。c語(yǔ)言和python的區(qū)別?python在線運(yùn)行編譯怎么實(shí)現(xiàn)?Python由C語(yǔ)言實(shí)現(xiàn),因此我想在Python和C語(yǔ)言之間進(jìn)行簡(jiǎn)單的比較。
c語(yǔ)言和python的區(qū)別?
1、語(yǔ)言類型不同
Python是一種動(dòng)態(tài)類型語(yǔ)言,又是強(qiáng)類型語(yǔ)言。它們確定一個(gè)變量的類型是在您第一次給它賦值的時(shí)候。C 是靜態(tài)類型語(yǔ)言,一種在編譯期間就確定數(shù)據(jù)類型的語(yǔ)言。大多數(shù)靜態(tài)類型語(yǔ)言是通過(guò)要求在使用任一變量之前聲明其數(shù)據(jù)類型來(lái)保證這一點(diǎn)的。
2、對(duì)象機(jī)制不同
Python中所有的數(shù)據(jù),都是由對(duì)象或者對(duì)象之間的關(guān)系表示的,函數(shù)是對(duì)象,字符串是對(duì)象,每個(gè)東西都是對(duì)象的概念。每一個(gè)對(duì)象都有三種屬性: 實(shí)體,類型和值。
C中沒(méi)有對(duì)象這個(gè)概念,只有“數(shù)據(jù)的表示”,比如說(shuō),如果有兩個(gè)int變量a和b,想比較大小,可以用a == b來(lái)判斷,但是如果是兩個(gè)字符串變量a和b,就不得不用strcmp來(lái)比較了,因?yàn)榇藭r(shí),a和b本質(zhì)上是指向字符串的指針,如果直接用==比較, 那比較的實(shí)際是指針中存儲(chǔ)的值地址。
3、變量類型不同
python六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:Number數(shù)字、String字符串、List列表、Tuple元祖、Sets集合、Dictionary字典,數(shù)字類型有四種類型:整數(shù)、布爾型、浮點(diǎn)數(shù)和復(fù)數(shù)。C語(yǔ)言也可分四類:基本類型、枚舉類型、void的類型、派生類型。基本類型:整數(shù)類型、浮點(diǎn)類型。
4、函數(shù)庫(kù)的使用方法不同
在C語(yǔ)言中使用那個(gè)庫(kù)函數(shù),需要引入頭文件用include引入,而在python中需要引入別的模塊或者函數(shù)時(shí)需要用import引入。
兩者的不同機(jī)制是C語(yǔ)言中include是告訴預(yù)處理器,這個(gè)include指定的文件的內(nèi)容,要當(dāng)作本地源文件出現(xiàn)過(guò),而python中的import可以通過(guò)簡(jiǎn)單的import 導(dǎo)入,或者是 import numpy as np 。
5、全局變量不同
在C語(yǔ)言中,聲明全局變量,如果值是恒定的,那么可以直接用#define聲明,如果只是聲明全局,并且變量的值是可變的,那么直接類似int a 就可以了。
在python中,聲明全局變量時(shí),需要加上global,類似global a,在函數(shù)里面使用的時(shí)候需要先聲明global a ,否則直接用a那么python會(huì)重新創(chuàng)建一個(gè)新的本地對(duì)象并將新的值賦值給他,原來(lái)的全局變量的值并不變化。
python在線運(yùn)行編譯怎么實(shí)現(xiàn)?
sys模塊包括了一組非常實(shí)用的服務(wù),內(nèi)含很多函數(shù)方法和變量,用來(lái)處理Python運(yùn)行時(shí)配置以及資源,從而可以與前當(dāng)程序之外的系統(tǒng)環(huán)境交互,如:Python解釋器。
1. 導(dǎo)入sys模塊
首先,打開(kāi)終端模擬器進(jìn)入Python解釋器或者打開(kāi)IDE編輯器創(chuàng)建一個(gè)新的.py后綴名的Python程序文件。
下面,以解釋器中的操作舉例:
>>> import sys #導(dǎo)入sys模塊
>>> dir(sys) #dir()方法查看模塊中可用的方法
注意:如果是在編輯器,一定要注意要事先聲明代碼的編碼方式,否則中文會(huì)亂碼。
2. sys模塊重要函數(shù)變量
1 ) sys.stdin 標(biāo)準(zhǔn)輸入流。
2)sys.stdout 標(biāo)準(zhǔn)輸出流。
3 ) sys.stderr 標(biāo)準(zhǔn)錯(cuò)誤流。
4 ) sys.path 查找模塊所在目錄的目錄名列表。
5 ) sys.argv 命令行的參數(shù),包括腳本名稱。
6 ) sys.platform 返回當(dāng)前系統(tǒng)平臺(tái),如:win32、Linux等。
今天沒(méi)事兒完了一下菜鳥(niǎo)教程的python編譯器發(fā)現(xiàn)挺有意思,想搞明白它的原理是啥,于是我輸入了以下代碼:
import sys,os
print(sys.version_info)
print(sys.executable)
print(sys.path[0])
print(os.listdir(sys.path[0]))
with open("/usercode/file.py") as e:
print(e.read())
結(jié)果是這樣的:
以上就是關(guān)于c語(yǔ)言和python的區(qū)別,以及python在線運(yùn)行編譯怎么實(shí)現(xiàn)的全部?jī)?nèi)容介紹,想了解更多關(guān)于python的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。