Python3的介紹、安裝和命令行的認(rèn)識(shí)(推薦)
PYTHON3介紹
Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無(wú)聊的圣誕節(jié)而編寫的一個(gè)編程語(yǔ)言。
Python就為我們提供了非常完善的基礎(chǔ)代碼庫(kù),覆蓋了網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫(kù)、文本等大量?jī)?nèi)容,被形象地稱作“內(nèi)置電池(batteries included)”。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的即可。
除了內(nèi)置的庫(kù)外,Python還有大量的第三方庫(kù),也就是別人開發(fā)的,供你直接使用的東西。當(dāng)然,如果你開發(fā)的代碼通過很好的封裝,也可以作為第三方庫(kù)給別人使用。
許多大型網(wǎng)站就是用Python開發(fā)的,例如YouTube、Instagram,還有國(guó)內(nèi)的豆瓣。很多大公司,包
Google、Yahoo等,甚至NASA(美國(guó)航空航天局)都大量地使用Python。
龜叔給Python的定位是“優(yōu)雅”、“明確”、“簡(jiǎn)單”,所以Python程序看上去總是簡(jiǎn)單易懂,初學(xué)者學(xué)Python,不但入門容易,而且將來(lái)深入下去,可以編寫那些非常非常復(fù)雜的程序。
總的來(lái)說,Python的哲學(xué)就是簡(jiǎn)單優(yōu)雅,盡量寫容易看明白的代碼,盡量寫少的代碼。
另外,在網(wǎng)上看到的大部分文章幾乎都是在說Java是跨平臺(tái)的,我們Python也是跨平臺(tái)的。發(fā)布這樣的言論的人要么是個(gè)老古董,要么就是隨波逐流??v觀各種編程語(yǔ)言,還有哪幾個(gè)不是跨平臺(tái)的,幾乎在不同的平臺(tái)上都有自己的編譯器。假設(shè)現(xiàn)在你開發(fā)出一種語(yǔ)言,不能夠跨平臺(tái),你看看還會(huì)有人用嗎。所以說,跨平臺(tái)這種觀念已經(jīng)不能再當(dāng)做事來(lái)說了。
PYTHON更適合開發(fā)哪些類型的應(yīng)用
- 首選是網(wǎng)絡(luò)應(yīng)用,包括網(wǎng)站、后臺(tái)服務(wù)等等;
- 其次是許多日常需要的小工具,包括系統(tǒng)管理員需要的腳本任務(wù)等等;
- 另外就是把其他語(yǔ)言開發(fā)的程序再包裝起來(lái),方便使用。
Python的優(yōu)點(diǎn)
1、python非常簡(jiǎn)單
Python程序讀起來(lái)就像一篇英文文章一樣,你不需要搞明白語(yǔ)言本身。你只需要知道這個(gè)方法是做什么的即可。Python的這種偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。
2、易學(xué)
Python使用C編寫,但是他卻巧妙的避開C中指針等一些列晦澀難懂的概念。所以在開發(fā)中你不必去關(guān)注語(yǔ)言的特性,可以全身心的去考慮業(yè)務(wù)邏輯。
3、可移植性
由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工作在不同平臺(tái)上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無(wú)需修改就可以在下述任何平臺(tái)上面運(yùn)行。這個(gè)個(gè)優(yōu)點(diǎn)說的也不過就是Python的跨平臺(tái)特性。
4、Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊獭?/p>
在面向過程的語(yǔ)言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來(lái)的。在面向?qū)ο蟮恼Z(yǔ)言中,程序是由數(shù)據(jù)和功能組合而成的對(duì)象構(gòu)建起來(lái)的。與其他主要的語(yǔ)言如C++和Java相比,Python以一種非常強(qiáng)大又簡(jiǎn)單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>
5、可擴(kuò)展性和可嵌入性
如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。因此Python被稱為‘粘合劑'。
6、規(guī)范的代碼
Python標(biāo)準(zhǔn)庫(kù)確實(shí)很龐大。python有可定義的第三方庫(kù)可以使用。它可以幫助你處理各種工作,包括正則表達(dá)式、文檔生成、單元測(cè)試、線程、數(shù)據(jù)庫(kù)、網(wǎng)頁(yè)瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫(kù)以外,還有許多其他高質(zhì)量的庫(kù),如wxPython、Twisted和Python圖像庫(kù)等等。
Python的缺點(diǎn)
世間的萬(wàn)事萬(wàn)物都不是完美的,都有其欠缺的一面,人都要三七開,更何況由人編寫出來(lái)的計(jì)算機(jī)語(yǔ)言呢。
無(wú)論是優(yōu)點(diǎn)還是缺點(diǎn)這種評(píng)價(jià)性質(zhì)的東西,永遠(yuǎn)沒有定數(shù),不可能羅列出每一種情況,因此我主要介紹以下幾種不足之處:
1、運(yùn)行速度慢
和C程序相比非常慢,因?yàn)镻ython是解釋型語(yǔ)言,你的代碼在執(zhí)行時(shí)會(huì)一行一行地翻譯成CPU能理解的機(jī)器碼,這個(gè)翻譯過程非常耗時(shí),所以很慢。而C程序是運(yùn)行前直接編譯成CPU能執(zhí)行的機(jī)器碼,所以非??臁?br /> 但是大量的應(yīng)用程序不需要這么快的運(yùn)行速度,因?yàn)橛脩舾靖杏X不出來(lái)。例如開發(fā)一個(gè)下載MP3的網(wǎng)絡(luò)應(yīng)用程序,C程序的運(yùn)行時(shí)間需要0.001秒,而Python程序的運(yùn)行時(shí)間需要0.1秒,慢了100倍,但由于網(wǎng)絡(luò)更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區(qū)別嗎?
2、代碼不能加密
如果要發(fā)布你的Python程序,實(shí)際上就是發(fā)布源代碼,這一點(diǎn)跟C語(yǔ)言不同,C語(yǔ)言不用發(fā)布源代碼,只需要把編譯后的機(jī)器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去。要從機(jī)器碼反推出C代碼是不可能的,所以,凡是編譯型的語(yǔ)言,都沒有這個(gè)問題,而解釋型的語(yǔ)言,則必須把源碼發(fā)布出去。
Python的安裝
要開始學(xué)習(xí)Python編程,首先就得把Python安裝到你的電腦里。安裝后,你會(huì)得到Python解釋器(就是負(fù)責(zé)運(yùn)行Python程序的),一個(gè)命令行交互環(huán)境,還有一個(gè)簡(jiǎn)單的集成開發(fā)環(huán)境。
Windows下安裝原生Python
首先,根據(jù)你的Windows版本(64位還是32位)從Python的官方網(wǎng)站下載Python 3.6.x。
https://www.python.org/downloads/
雙擊Python的.exe安裝程序, 勾選Install launcher for all users和Add Python 3.6 to PATH,,并選擇自定義安裝(Customize installation)
這里是選擇要安裝的組件,可以根據(jù)自己的需要選擇,最好,都選中。
選擇安裝位置,勾選前五個(gè)選項(xiàng),再下一步。
點(diǎn)擊Disable path length limit允許環(huán)境變量超過260字符,完成安裝
安裝成功后,打開命令提示符窗口,敲入python后,會(huì)出現(xiàn)以下情況就說明安裝成功了!
你看到提示符>>>就表示我們已經(jīng)在Python交互式環(huán)境中了,可以輸入任何Python代碼,回車后會(huì)立刻得到執(zhí)行結(jié)果。現(xiàn)在,輸入exit()并回車,就可以退出Python交互式環(huán)境(直接關(guān)掉命令行窗口也可以)。
如果得到一個(gè)錯(cuò)誤:‘python' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。
這是因?yàn)閃indows會(huì)根據(jù)一個(gè)Path的環(huán)境變量設(shè)定的路徑去查找python.exe,如果沒找到,就會(huì)報(bào)錯(cuò)。如果在安裝時(shí)漏掉了勾選Add Python 3.6 to PATH,那就要手動(dòng)把python.exe所在的路徑添加到Path中。
如果你不知道怎么修改環(huán)境變量,建議把Python安裝程序重新運(yùn)行一遍,務(wù)必記得勾上Add Python 3.6 to PATH。
Linux下安裝原生Python(以centos7為例)
1、以root權(quán)限打開終端,進(jìn)入安裝包的存放路徑,解壓安裝包:
[root@localhost ~]# tar -xzvf Python-3.6.4.tgz
2、進(jìn)入解壓好的安裝包路徑:
[root@localhost ~]# cd Python-3.6.4
3、編譯安裝包,指定安裝路徑,并執(zhí)行安裝命令:
注意:prefix參數(shù)用于指定將Python安裝在新目錄,防止覆蓋系統(tǒng)默認(rèn)安裝的python
[root@localhost Python-3.6.4]# ./configure --prefix=/usr/local/python36 --enable-shared CFLAGS=-fPIC [root@localhost Python-3.6.4]# make && make install
4、修改系統(tǒng)默認(rèn)的Python路徑,因?yàn)樵诮K端中輸入Python命令時(shí)默認(rèn)是指向Python2.6.6
[root@localhost Python-3.6.4]# mv /usr/bin/python /usr/bin/python-2.6.6
5、建立新的軟連接,指向Python-3.6.0:
注:這里的python36是第4步指定的安裝路徑,python3.6是Python包里的可執(zhí)行程序
[root@localhost Python-3.6.4]# ln -s /usr/local/python36/bin/python3.6 /usr/bin/python
6、因?yàn)閥um是依賴python的,所以這里我們修改了默認(rèn)的python,就要修改yum,讓其運(yùn)行指向舊的版本:
[root@localhost Python-3.6.4]# vi /usr/bin/yum
將第一行中的“#!/usr/bin/python”
修改為“#!/usr/bin/python-2.6.6”,
保存即可
7、如果順利的話,通過以上過程Python的安裝就基本完成了,可以打開一個(gè)新的終端,通過python命令進(jìn)入python環(huán)境,
Python的交互環(huán)境的使用
當(dāng)你安裝成功Python后,在cmd或者是powershell中輸入python并回車后,看到的終端狀態(tài)就是Python的交互式環(huán)境,交互式環(huán)境中可以執(zhí)行任何的Python代碼,并實(shí)時(shí)的輸出相應(yīng)的結(jié)果。我們經(jīng)常在研發(fā)過程中,使用它做一些簡(jiǎn)單的代碼測(cè)試,相比于運(yùn)行一個(gè)py文件要來(lái)的方便、直接、快捷。
首先我們?cè)诮换ナ江h(huán)境中執(zhí)行一些簡(jiǎn)單的代碼,讓我們先把左腳邁進(jìn)Python的大門。
輸出
python的輸出方法是print(),該方法實(shí)現(xiàn)的效果就是在控制臺(tái)(也就是我們當(dāng)前所看到的命令行)輸出我們指定的內(nèi)容。
使用方法:在print()括號(hào)中添加字符串即可向屏幕打印指定的文字。
>>> print('Hello World') Hello World
print()函數(shù)也可以接受多個(gè)參數(shù),用逗號(hào)“,”隔開,就可以連成一串輸出:
>>> print('Hello', 'World') Hello World
由以上的兩個(gè)示例可以看出,該函數(shù)的輸出是將所有的參數(shù)都打印出來(lái),并以空格隔開。
print()也可以打印整數(shù),或者計(jì)算結(jié)果
>>> print(100) 100 >>> print(100 + 50) 150 >>> print('100 + 50 =', 100 + 50) 100 + 50 = 150
輸入
有輸出當(dāng)然就要有輸入,Python的輸入也很簡(jiǎn)單使用的是input()方法,可以讓用戶在控制臺(tái)輸入一個(gè)字符串并存儲(chǔ)到變量中(現(xiàn)在,我們不必關(guān)注變量是什么,你只需要知道變量能存儲(chǔ)我們輸入的數(shù)據(jù)即可)。
示例:
>>> name = input() KevinBruce >>> name = input() 'KevinBruce'
我在控制臺(tái)中輸入name = input()
這行代碼并回車后,光標(biāo)會(huì)停留在下方等待你輸入一些內(nèi)容,我輸入了KevinBruce后并回車,什么都沒有了,此時(shí)我們將我們輸入的字符串存儲(chǔ)到name變量中了。我們直接數(shù)據(jù)變量名,就可以看到變量中的值了,果然是我們剛剛在控制臺(tái)輸入的內(nèi)容。
但是,此時(shí)你會(huì)發(fā)現(xiàn),輸入input()方法回車后,什么都沒有提示,只是光標(biāo)停止在了那里,不知道的人還以為電腦卡死了呢,這樣友好性就不是很好。那么,我們?cè)谳斎胫坝幸恍┨崾拘畔⒛??答案是:?dāng)然可以了。
input()函數(shù)也可以傳遞參數(shù)作為提示內(nèi)容。
>>> name = input('please input your name:') please input your name:KevinBruce >>> print(name) KevinBruce
這樣是不是就更加人性化,更加友好了。我們上一個(gè)案例中直接使用name變量輸出的內(nèi)容,那么在這個(gè)案例中我們使用之前學(xué)過的print()方法將變量打印出來(lái),自行了解他們的區(qū)別。
input()返回的數(shù)據(jù)類型是str,因?yàn)閟tr不能直接和整數(shù)比較,所以必須先把str轉(zhuǎn)換成整數(shù)才能計(jì)算。
可以使用int()方法,將數(shù)字型的字符串轉(zhuǎn)換成整型
>>> input_age = input('please input your age:') please input your age:18 >>> age = input_age + 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: must be str, not int >>> age = int(input_age) + 1 >>> age
上面的例子可以看出,我們嘗試著將輸入的一個(gè)年齡,進(jìn)行+1操作,但是在我直接進(jìn)行加的時(shí)候,拋出了一個(gè)錯(cuò)誤,說input_age是一個(gè)str,而不是int。因此,我們使用int()方法將其轉(zhuǎn)化成int類型,在進(jìn)行+1操作時(shí),就正確了。
總結(jié)
以上所述是小編給大家介紹的Python3的介紹、安裝和命令行的認(rèn)識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
pyspark 隨機(jī)森林的實(shí)現(xiàn)
這篇文章主要介紹了pyspark 隨機(jī)森林的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04解決python中的冪函數(shù)、指數(shù)函數(shù)問題
今天小編就為大家分享一篇解決python中的冪函數(shù)、指數(shù)函數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-11-11windows及l(fā)inux環(huán)境下永久修改pip鏡像源的方法
不知道有沒有人跟我一樣,在剛接觸Linux時(shí)被系統(tǒng)更新源問題搞得暈頭轉(zhuǎn)向,不同的Linux更新源配置也是不一樣的,另外由于默認(rèn)安裝時(shí)的源大都是外國(guó)的更新源,速度相對(duì)國(guó)內(nèi)會(huì)慢很多,接下來(lái)本文主要介紹在windows和linux兩種系統(tǒng)環(huán)境中更新系統(tǒng)源的方法。2016-11-11Python的Socket編程過程中實(shí)現(xiàn)UDP端口復(fù)用的實(shí)例分享
這篇文章主要介紹了Python的Socket編程過程中實(shí)現(xiàn)UDP端口復(fù)用的實(shí)例分享,文中作者用到了Python的twisted異步框架,需要的朋友可以參考下2016-03-03python實(shí)現(xiàn)Dijkstra靜態(tài)尋路算法
這篇文章主要介紹了python實(shí)現(xiàn)Dijkstra靜態(tài)尋路算法,常用于路由算法或者作為其他圖算法的一個(gè)子模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Sublime?Text4?配置?Python3?環(huán)境、代碼提示、編譯報(bào)錯(cuò)教程,通過圖文并茂的形式給大家介紹了配置自動(dòng)代碼提示的方法,需要的朋友可以參考下2022-01-01Pandas常用累計(jì)、同比、環(huán)比等統(tǒng)計(jì)方法實(shí)踐過程
這篇文章主要介紹了Pandas常用累計(jì)、同比、環(huán)比等統(tǒng)計(jì)方法實(shí)踐過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Python實(shí)現(xiàn)改變與矩形橡膠的線條的顏色代碼示例
這篇文章主要介紹了Python實(shí)現(xiàn)改變與矩形橡膠的線條的顏色代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python編程語(yǔ)言的35個(gè)與眾不同之處(語(yǔ)言特征和使用技巧)
這篇文章主要介紹了Python編程語(yǔ)言的35個(gè)與眾不同之處,Python編程語(yǔ)言的語(yǔ)言特征和使用技巧,需要的朋友可以參考下2014-07-07