先來曬個圖:
對於一些 Python 的小項目,使用 vim 是一個不錯的選擇。本文內容整理自我在知乎的回答 用 Vim 寫 Python 的最佳實踐是什麼? ,以下的內容是對知乎舊有回答的一個補充,尤其有一些主要針對 vim8. 如果想要更多內容,可以查看知乎對於該問題的一些回答。
語法檢查
如果用 vim8, 那麼可以用非同步檢測的 w0rp/ale 代替 syntastic 了,再也不用羨慕 flycheck, 也不用因為語法檢查而卡頓了。
關於 ale 這部分的個性化配置,其實有點 “吹毛求疵”,一般使用默認的應該就夠了,不過我喜歡 fancy 的東西,就折騰了一把。涉及的東西可能比較細枝末節,可以直接看 space-vim: syntax-checking 了解一下大概的配置 。主要是針對 ale 提供的 statusline 內容進行再提取進行展示。如果沒有語法錯誤就不顯示在 statusline, 如果有 warning 或 error, 則透過不同顏色就行區分。
而關於側邊的 warning 或 error sign, 我喜歡乾淨一點,用前景色區分就好,下面這樣有時候會像一塊塊的補丁貼在上面,覺得不太好看。
syntax 增強
vim 自帶對於python 的高亮有點弱,連self 都不給我亮起來, 這一點可以透過python-mode/python-mode 來增強具體可以看這裡space-vim: python layer
在python-mode 的syntax/python.vim 裡,可以看到比vim 自帶的syntax/python.vim 更加細緻的高亮群組,應該不難看懂各項內容,照著顏色表自行修改高亮風格就可以了。這是 terminal 256 色對照表 256 Terminal colors and their 24bit equivalent (or similar), 這是 GUI 顏色對照表 Complete HTML True Color Chart 。
這麼做的優點自然是想要什麼效果完全可自訂,但是也有缺點,因為可能沒辦法適配所有的 vim 主題。當你切換主題時,這些針對 python 自訂的高亮也許會有些不太契合。就算是只算流行的那些 vim 主題,恐怕也有兩位數了,有些是冷色調,有些是暖色調,有些以藍色為主,有些是紅色居多,應該不太容易找一些百搭的配色。不過每個人所中意的主題可能也就是那麼幾個,所以自行選擇吧.....
其實python-mode 有點集大成的意思,囊括了用vim 寫python 的很多功能,有興趣的可以嘗試靠它「一招打遍天下」。不過,目前我只是中意這一部分而已。
程式碼格式化
這一點可以透過google/yapf 來完成,安裝好yapf, 像下面這樣
就能對當前文件進行格式化:<pre class="brush:php;toolbar:false"> hi pythonSelf ctermfg=174 guifg=#6094DB cterm=bold gui=bold</pre>
自動補全
這一點因為我主要還是使用vim, 因此用的YouCompleteMe, 實際後端用的是已經提到的jedi-vim. 如果不喜歡ycmd, 使用neovim 的可以嘗試使用deoplete.nvim .
import 整理
各種import 是不是顯得有點亂?用timothycrosley/isort 整理一下:
autocmd FileType python nnoremap <localleader>= :0,$!yapf<cr></cr></localleader>
一鍵運行
這個可以透過skywind3000/asyncrun.vim 來增強, 把之前的
! 換成AsyncRun!
就好了點:很多人的一鍵運行可能大概長這樣:
autocmd FileType python nnoremap <localleader>i :!isort %<cr><cr></cr></cr></localleader>
可以直接把上面的
! 換成AsyncRun!
嗎?答案是不可以,如果要達到之前的效果,應該要這樣:<pre class="brush:php;toolbar:false">...
exec "!g++ % -o %</pre>
要用分號鏈接多條命令(linux)或者 & 鏈接多條命令(windows),具體可以看 這裡。
具體完整的 vim 配置在這裡: >>> space-vim (覺得寫得不錯的話可以順便到 github 點個 star

使用NumPy創建多維數組可以通過以下步驟實現:1)使用numpy.array()函數創建數組,例如np.array([[1,2,3],[4,5,6]])創建2D數組;2)使用np.zeros(),np.ones(),np.random.random()等函數創建特定值填充的數組;3)理解數組的shape和size屬性,確保子數組長度一致,避免錯誤;4)使用np.reshape()函數改變數組形狀;5)注意內存使用,確保代碼清晰高效。

播放innumpyisamethodtoperformoperationsonArraySofDifferentsHapesbyAutapityallate AligningThem.itSimplifififiesCode,增強可讀性,和Boostsperformance.Shere'shore'showitworks:1)較小的ArraySaraySaraysAraySaraySaraySaraySarePaddedDedWiteWithOnestOmatchDimentions.2)

forpythondataTastorage,choselistsforflexibilityWithMixedDatatypes,array.ArrayFormeMory-effficityHomogeneousnumericalData,andnumpyArraysForAdvancedNumericalComputing.listsareversareversareversareversArversatilebutlessEbutlesseftlesseftlesseftlessforefforefforefforefforefforefforefforefforefforlargenumerdataSets; arrayoffray.array.array.array.array.array.ersersamiddreddregro

Pythonlistsarebetterthanarraysformanagingdiversedatatypes.1)Listscanholdelementsofdifferenttypes,2)theyaredynamic,allowingeasyadditionsandremovals,3)theyofferintuitiveoperationslikeslicing,but4)theyarelessmemory-efficientandslowerforlargedatasets.

toAccesselementsInapyThonArray,useIndIndexing:my_array [2] accessEsthethEthErlement,returning.3.pythonosezero opitedEndexing.1)usepositiveandnegativeIndexing:my_list [0] fortefirstElment,fortefirstelement,my_list,my_list [-1] fornelast.2] forselast.2)

文章討論了由於語法歧義而導致的Python中元組理解的不可能。建議使用tuple()與發電機表達式使用tuple()有效地創建元組。 (159個字符)

本文解釋了Python中的模塊和包裝,它們的差異和用法。模塊是單個文件,而軟件包是帶有__init__.py文件的目錄,在層次上組織相關模塊。

文章討論了Python中的Docstrings,其用法和收益。主要問題:Docstrings對於代碼文檔和可訪問性的重要性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具