學習python。linux和win。系統下有區別嗎?

玩具棒棒冰


python作為一種跨平臺的開發語言,win和linux都可以使用。語法一樣。

1.比較之下,linux更加方便。linux下已安裝python開發環境,可以直接使用。win必須自己安裝。

2.linux下有許多接口,類庫供python調用,可以實現更多的功能,實現軟件快速開發。而這些接口在win下不一定能用。

3.linux下有許多優秀的ide,原生態支持python,方便調試編譯等。

4.win下和linux下編寫python還是有區別的,python是一種對縮進有嚴格要求的語言, 而win和linux下tab縮進是有區別的,這就是為什麼linux編寫的代碼在win下調試時會出現一堆莫名其妙的錯誤。

5.字符編碼。也是不一樣的,即使調試編譯通過,輸出時一堆亂碼。win使用gbk,linux使用unicode,最好在代碼編寫時處理好輸出。


林悠居士


python是跨平臺的語言。如果只是學習語法,那麼兩個系統平臺都可以。

但python的功能需要安裝各種庫才能發揮。而不同系統下,庫有所區別,甚至有些庫只有某個系統的版本,其它系統沒有。

因此,要選擇Linux還是windows,關鍵看你將來工作中需要要使用的庫是支持Linux還是windows。當然,如果兩者都兼容就更好,這樣選擇哪個系統都一樣,哪個熟悉用哪個。

python是一種對縮進有嚴格要求的語言, Python腳本可以使用非常多的工具進行編寫,筆者在使用JEdit進行Python,由於在Linux編寫腳本比較痛苦,比如想一眼看出相同的變量在哪個地方使用就非常不方便,所以想轉到Window系統上進行編寫,在Windows上有一個非常輕量級的工具:Note Pad++, 還有一個Eclipse上的插件pydev。但是直接將linux上的Python腳本直接移到window上編寫時出現了大量的縮進問題,因為Linux和window上對待tab是不同的方式,有的是看做是一個space有的看作是幾個space,非常的麻煩。如何解決呢?方法就是各個工具都有一個功能叫是否將tab看做space的功能,只要在linux上的JEdit編寫工具中進行統一處理,如JEdit統一調整縮進的方式是:Edit - Indent - Spaces to Tabs 或 Tabs to Spaces 這裡可以選擇Tabs to Spaces,調整後,放到windows打開,此時就會發現,縮進的格式就統一了。反之,在Pydev 上也有這樣的統一調整縮進的方式:Source - Convert space-tabs to tabs 或 Convert tabs to space-tabs而NotePad ++ 上也有這樣的統一調整縮進的方式:Edit - Blank Operations - Tab to Space 或 Space to Tab (All) 或 Space to Tab (leading)下面附帶介紹 :Eclipse + pydev:依靠強大的eclipse,pydev顯得格外耀眼。強大的調試功能和舒服的編輯環境讓pydev贏得了許多人的青睞。不過eclipse本來就是耗資源大戶,pydev在這一點上毫無辦法,但現在的電腦都很快了,跑eclipse根本就是小case,不用擔心太多。除了強大的調試功能,依靠eclipse,pydev的代碼瀏覽能力是其它所有IDE所不能比的,比如按住再點擊一個類就能自動跳到該類的定義,這對於閱讀代碼非常有用。現在pydev extension也開源了,所以一些(我不知道的)高級的功能也被融入到pydev裡了。


航空航天視頻


啥也不多說,實踐見真理!很多人遇到python語言在Linux系統和Windows系統語言轉換的問題,這裡我將進行一系列記錄遇到python代碼從Linux系統下移到Windows系統下,將如何修改,能達到代碼運行通暢,bug輕鬆解決。

Windows系統與Linux系統比較顯而易見的區別就在於文件路徑名的問題,Windows下,文件路徑用 ‘ \\’ 連接;而Linux下,文件路徑用 ‘ /’連接;有人覺得這很好解決,只要遇到寫文件路徑的地方就把 ‘\\’ 改成‘ /’ 就可以了,然而,這樣很容易出錯,可能會出現錯誤類型如下:

(unicode error):'unicodeescape' codec can't decode

![send_file.py](https://img-

blog.csdnimg.cn/20181217203538577.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyODI1NTY0,size_16,color_FFFFFF,t_70)


【出錯代碼示例】](https://img-

blog.csdnimg.cn/20181217203050419.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyODI1NTY0,size_16,color_FFFFFF,t_70)


其實只需要把open文件路徑改成如下就可以了

f=open('\\\\Users\\\\Python\\\\Desktop\\\\第二階段pythonnet\\\\day03\\\\ship.jpg','rb')

這樣就不會出錯了

因為,在python語言中‘ \\ ’有特殊含義,叫轉義字符,常常遇到英文字符會解釋成不同含義;

本文以python3編譯器為例


Echa攻城獅


你好,很高興為你解答。


理論上,python的運行是無關平臺,在windows和linux都可以進行編程和運行。但是有幾個點還是有區別的:


1. 如果是學習的話,建議在windows下進行

因為大多數人對windows還是比較熟悉的,而且還可以一邊看教程一邊進行編寫代碼;


2. 對於linux

如果你是從運維或者後端開發轉過來python的(就是你之前工作大部分時間接觸的是linux)。這時候用linux進行學習和開發,就有很大好處,就是開發環境和上線環境同時linux,而且之前掌握的linux知識都能用得上,更重要的是linux比windows要純粹一些,不會卡殼;


3. 如果想學習python的話,後期是一定要學習linux的

因為你上線部署基本都是linux不會在windows。前期為了學習方便可以在windows,所以學習編程,要學的東西很多,需要一步一步來。


如果還有疑問,可以在底下評論,或私信我。

謝謝採納。


IT可達鴨


程序的結構區別不大,只是一些涉及系統環境的操作的庫和函數的使用和調用語法有區別


軟件測試經驗與思考


雖然從Linux和Windows系統的角度來看差別很大,但是從Python的角度來看,區別並不大,因為Python相當於在操作系統的層面上做了一層抽象,如果你學過設計模式,這個就和Adapter類似。

Python語言本身有自己的一套標準,這個和系統無關,只是在不同的系統上實現起來不同罷了,比如說文件讀寫,你寫同樣的Python程序,不管是那個系統,它的運行結果一般都會相同。

此外,對於Python大量的第三方庫來說,一般也都提供多個系統的支持,所以也不必擔心這方面的差別。

唯一可能會存在差別的地方,就是涉及到對系統API的直接調用,這個會有很大的不同,但是對於Python這樣的語言來說,這種情況比較少見。


分享到:


相關文章: