當前位置:
首頁 > 知識 > Python代碼技巧,你值得擁有!

Python代碼技巧,你值得擁有!

如何去掉list中重複元素

推薦方式

或者

前一種方式不會保留list的元素順序,後一種方式會保留list的元素順序。

如何讀取dict中的值

不推薦方式

推薦方式

前一種方式讀取一個不存在的key時,會導致KeyError,例如print url_dict["baidu"],因為字典中不存在baidu,所以會導致KeyError。後一種方式使用字典的get方法,如果key不存在,不會產生KeyError,如果給了默認值,會返回默認值,否則返回None。


如何排序字典

推薦方式

第一種方式是按字典的value升序排序,第二種方式是按字典的key升序排序,第三種方式是按字典的value降序排序,和第一種方式相反,因為指定了參數reverse為True。sorted函數功能挺強大,不止可以排序字典,任何iterable對象都可以排序。


如何列印更易讀的類

不推薦方式

推薦方式

前一種方式列印的類不易讀,不能獲取更多的信息。通過類的repr方法可以將類列印得更易讀。或者不定義repr方法,直接使用下面方式列印:

print p.__dict__# {"y": 4, "x": 3}

使用dict方法,將類以字典形式列印出來,也比較易讀。


如何將類列印成json字元串

推薦方式

通過json模塊的dumps方法,可以輕易將類列印成json字元串。


如何排序類列表

推薦方式

這裡排序的方法和字典排序類似,第一種是按user的key升序排序,第二種是按user的name升序排序。其實還支持名字相同,再按key進行排序,如下:

如何在命令行查看python文檔

推薦方式

第一個命令pydoc sys.exit查看sys模塊的exit函數文檔信息,第二個命令pydoc sorted查看了內建函數sorted的文檔信息。


如何將python代碼打包成獨立的二進位文件

推薦方式

需要編譯的python代碼如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-print "hello, world!"

將python代碼打包成獨立的二進位文件步驟:

我解釋下上面命令行,首先使用python直接運行需要編譯成獨立二進位文件的hello_world.py,程序正常列印hello, world!,然後使用pip安裝pyinstaller,通過pyinstaller將hello_world.py打包成獨立的二進位文件,然後進入當前目錄下的dist目錄,運行打包成功的二進位文件hello_world,程序正常列印hello, world!。除了pyinstaller,還有其他工具可以實現類似功能


如何自動格式化python代碼

推薦方式

格式化前的demo.py代碼:

安裝autopep8,並使用autopep8格式化demo.py代碼:

root@master:demo$ pip install autopep8root@master:demo$ autopep8 --in-place --aggressive --aggressive demo.py

格式化後的demo.py代碼:

可以看到,經過autopep8格式化後的python代碼更易讀,也符合python的代碼風格,這裡的示例代碼使用autopep8官方例子。


正確的函數返回

不推薦方式

推薦方式

前一種方式中,如果輸入的參數b為0,函數會默認返回None,這是一個不太好的編程習慣。例如,當把函數的返回值作為if條件判斷時,0.0和None都是False,這樣容易導致bug。後面這種方式,將除數是0當成異常拋出,讓調用者處理異常,是比較合理的做法。


正確使用函數默認參數

不推薦方式

推薦方式

前一種方式會導致函數默認值改變,多次調用相互影響。正確方式是將函數默認值設置成None,在函數內部初始化默認參數。這裡只是針對傳遞引用類型的參數,如果是數字、字元串等類型就不存在該問題。


利用元組傳遞多個函數參數

推薦方式

作者:songleo

源自:https://www.jianshu.com/u/b2075cf393f8

聲明:文章著作權歸作者所有,如有侵權,請聯繫小編刪除


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

Python爬蟲從入門到出門(三)
Python列表方法詳細

TAG:python |