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

2021-03-02 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,在函數內部初始化默認參數。這裡只是針對傳遞引用類型的參數,如果是數字、字符串等類型就不存在該問題。

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

相關焦點

  • 這些Python代碼技巧,你肯定還不知道
    本文或許能夠讓你學到一些新技巧。inspect 模塊:https://docs.python.org/3/library/inspect.html下面的代碼示例使用 inspect.getsource() 列印自己的原始碼
  • 掌握這10個python技巧,讓你代碼工作如魚得水!
    福布斯最新發布的一篇報告指出,python的使用量在去年增長了456%。Netfix、IBM以及其它數以百計的公司都在使用python。包括Dropbox也是由python創建的。Dice的研究表明,python是世界上最熱門的技巧之一,根據程式語言的流行度指數來看,python同時也是最受歡迎的程式語言。Python為何有如此大的魅力呢?
  • 代碼跑得慢甩鍋Python?手把手教你如何給代碼提速30%
    其實某個特定程序(無論使用何種程式語言)的運行速度是快還是慢,在很大程度上取決於編寫該程序的開發人員自身素質,以及他們編寫優化而高效代碼的能力。Medium上一位小哥就詳細講了講如何讓python提速30%,以此證明代碼跑得慢不是python的問題,而是代碼本身的問題。
  • 讓你python代碼更快的3個小技巧
    今天呢,我們來聊一聊如何加速你的 python 代碼。Python 語言的優點可以列舉出許多,語法簡單易懂、模塊豐富、應用廣泛等等。但是世界上沒有有完美的東西,python 一個明顯缺點就是運行速度慢,至少跟 C 語言沒法比。所以,不安於現狀的 Pythoner 就開發了許多工具。其中,最著名的莫過於 Cython 和 Numba。
  • 5種非常棒的 Python 技巧,使你的代碼更優雅
    今天教大家一些 Python 技巧,它可以使你的代碼更優雅和高效。列表只需一行代碼,讓你的代碼看起來更簡潔,並且看起來更專業。a = [2,5,7,9]b = [a[i]+1 for i in range(len(a))] 你可以看到代碼之間的差別。現在這只是一個簡單的例子,後續你會發現有更多的應用案例,並可以大幅幫你減少代碼長度。
  • Python 機器學習庫 Top 10,你值得擁有!
    Python 在眾多開發者中如此受追捧的原因之一便是其擁有大量的與機器學習相關的開源框架以及工具庫,本文介紹了其中最受歡迎的10大Python庫。有許多原因致使 Python 在眾多開發者中如此受追捧,其中之一便是其擁有大量的與機器學習相關的開源框架以及工具庫。根據 builtwith.com 的數據顯示,45% 的科技公司都傾向於使用 Python 作為人工智慧與機器學習領域的程式語言。
  • Python2 已終結,入手Python 3,你需要這30個技巧
    檢查所需的最低 Python 版本你可以在代碼中先檢查一下你的 Python 版本,以免當前用戶的 Python 版本與你的腳本不適配。實現的代碼很簡單:3.使用 IPythonIPython 其實就是升級版的 shell,單單是自帶的自動補全功能就值得你使用它了。不過它的優勢不止這些,它那些如魔法般的內置命令行也讓是我愛使用它的原因。
  • 20個值得學習的 Python 技巧
    (給Python開發者加星標,提升Python技能)英文:Chaitanya Baweja,譯者:InfoQ-王文剛本文為大家介紹20個值得記住的
  • 寫出漂亮 Python 代碼的 20條準則
    然而,當我們必須花大把時間來理解一個人的隱式代碼時,這項工作肯定不受歡迎,這種情況同樣可能發生在別人閱讀我們的代碼時。所以,讓我們聚焦 Python 之禪和一些改進技巧,從而解決問題。在這篇文章中,我將分享自己對這些格言的理解以及我學到的一些有用的 Python 技巧。Python 具有語法簡單、代碼可讀性強和命令類似英語等特點,這讓編寫 Python 代碼比使用其他程式語言更容易、更高效。
  • 30個神奇的Python技巧,幫你寫出更好的代碼!
    它是最簡單的程式語言之一,可以作為你的第一門語言。如果你是一個初學者,具備 Python 的基本概念,那麼現在就是學習編寫更好代碼的最佳時機。在 Python 中,有很多技巧,可以比以前更好地改進你的代碼。本文將幫助你了解 Python 中可用的各種技巧和提示。不斷地練習,直到它內化成你編程習慣的一部分。Python 允許我們在一行中為多個變量賦值。變量可以用逗號分隔。
  • Python2020全新教程課程:從小白到獨立寫代碼
    作為一個初次踏入python的小夥伴來說,你第一周的目標應該是這樣的:1.了解並學習Python的安裝與項目新建。2.Python的數據類型詳解以及用法。3.學習Python的字符串與運算方法。4.學習Python常用的數字類型。
  • Python代碼如何升級為Pythonic 代碼
    符合這樣要求的代碼也被python社區稱為pythonic的代碼。正文共:7841 字預計閱讀時間:20 分鐘Python是當今最流行的語言之一。相對較新的領域如數據科學、人工智慧、機器人和數據分析,以及傳統的專業如Web開發和科學研究等,都在擁抱Python。對於用Python這樣的動態語言編寫代碼的程式設計師來說,確保代碼的高質量和無錯誤變得越來越重要。
  • 【Python 第51課】 and-or技巧
  • python發布代碼教程
    def tria(d,h):''' 計算三角形的面積 '''s=d*h/2return ssetup.py文件包含有關發布的元數據,代碼如下。sdist,如圖所示:回車後出現如圖所示:就說明你完成了構建發布文件。
  • 編程貓推出海龜編輯器、代碼競技場等python教學產品
    藍鯨教育8月19日訊,昨日編程貓聯合創始人兼CTO孫悅,在中國青少年科技輔導員協會年會科學教育國際會議上,正式公布了編程貓的新產品,可轉化python語言的編程工具——海龜編輯器;遊戲化python學習平臺——代碼競技場及面向課標的python教學教材。
  • 讓Python代碼更快運行的 5 種方法
    Python很簡單易用,但大多數人使用Python都知道在處理密集型cpu工作時,它的數量級依然低於C、Java和JavaScript。但不少第三方不願贅述Python的優點,而是決定自內而外提高其性能。
  • 再來 6 個例子教你重構 Python 代碼
    小編整理了系列介紹python代碼重構優化的方法,助你一臂之力。編寫乾淨的 Pythonic 代碼就是儘可能使其易於理解,但又簡潔。這是 Python 重構系列中的之一,本系列文章的重點是為什麼這些重構是好主意,而不僅僅是如何做。
  • 牛逼的Python書,你看過幾本?
    ,並在開頭就安排了一章快速入門,可以讓你對python一覽眾山小,從hello,world開始讓你很快就能寫出一段python的代碼。第二部分: 是高級篇,對正則表達式,面對對象,網絡編程,多線程,web,資料庫以及python和java的粘合,都講到了。因為當你寫大規模的python代碼的時候,這些知識點都要用上,非常實用。
  • 5種方法,加密你的Python代碼
    其中一個缺點,讓不少開發者頭疼不已,由於Python解釋器開源的關係,導致Python代碼無法加密,代碼的安全性得不到保障。當然,想要加密Python代碼,也並非無解。最常見的加密方式有4種,還有1種獨特的加密方式。
  • 值得收藏的45個Python優質資源(附連結)
    這份清單中包括了各不相同的20個主題,以及一些資深程式設計師分享使用Python的經驗,值得收藏。Mybridge AI 的排名結合了內部機器評估的內容質量和各種人為因素,包括閱讀次數和閱讀時長等。掌握Python的網頁抓取技巧來獲取你所需要的數據https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88Python中的自動化操作