python使用心得2

來源:互聯網
上載者:User

目前編譯器(實際是翻譯器)項目已經完成,對python的使用有了更深的感受。

除了之前說的以外,以下是補充幾點(完全是個人看法)。

首先是python相對路徑讀取設定檔和寫檔案問題,相對路徑在python中的使用跟java和C++不同。它是在那個位置運行py指令碼,就把當前路徑作為根路徑。如:當在目錄A下運行一個py指令碼,那麼目錄A就是一個根路徑了,那麼所謂的相對是以這個路徑作為參考;當在目錄B下運行一個py指令碼,那麼目錄B就是一個跟路徑了。

這時就會出現在整合模組時,最終的啟動py指令碼的目錄位置是不可確定性,那會出現很多設定檔讀取不到,而寫檔案寫錯目錄的情況。而且python虛擬機器本身來講,載入py檔案和讀取設定檔(或其他檔案)方式並不相同。所以解決的方式如下:

使用python內部屬性__file__,表示當前py指令碼所屬的路徑是一個絕對路徑。

並用os.path.split(os.path.realpath(__file__))[0],來得到當前使用的路徑。

 

其次是python中目錄命名、py指令碼命名和py指令碼內容的命名。如:在目錄C下,有一個C.py指令檔,C.py指令碼內容中有一個類C這樣。

在有些情境的調用中,會導致命名衝突,減少命名出現這樣的情況。

 

接著python使用確實很靈活,代碼量少,如python序列化技術,也就兩三行搞定,而沒有像java那麼繁瑣的要實現什麼介面這樣的限制。

而且Python開放源碼,可以看到底層很多C/C++的代碼,可以很快加深對python原理的理解(參考《Python源碼剖析-深度探索動態語言核心技術》,目前本人也在研究當中,其中的C/C++的知識可參考Thinking in C++),但是在實際的開發過程中,python項目的文檔必須進行詳細的說明,不然代碼後期的維護量很大,也就是之前所說的變數沒宣告類型,類又可以動態建立其成員變數,許可權等。都是後期維護難度大的因素。

還有就是目前從網上的資料顯示,python可以打包成exe,但是沒有看到能打包成其他類型的方式,如dll(畢竟python也是C/C++寫出來的)這樣。個人覺得打包的形式還是比較單一的。

 

最後是python也有類似於函數指標的影子在裡面,如下所示:

定義個方法

def fun(str1,str2):

      print str1,str2

 

運行時如下:

f=fun

f('a','b')

列印出"a b"的字串。

但是在java中就沒有這樣的形式出現。

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.