python实用么_使用Python这么多年,才发现Python还有这些实用的功能和特点
在使用Python多年以后,我偶然發現了一些我們過去不知道的功能和特性。一些可以說是非常有用,但卻沒有充分利用。考慮到這一點,我編輯了一些你應該了解的Python功能特色。
帶任意數量參數的函數
你可能已經知道了Python允許你定義可選參數。但還有一個方法,可以定義函數任意數量的參數。
首先,看下面是一個只定義可選參數的例子
現在,讓我們看看怎么定義一個可以接受任意參數的函數。我們利用元組來實現。
使用Glob()查找文件
大多Python函數有著長且具有描述性的名字。但是命名為glob()的函數你可能不知道它是干什么的除非你從別處已經熟悉它了。
它像是一個更強大版本的listdir()函數。它可以讓你通過使用模式匹配來搜索文件。
你可以像下面這樣查找多個文件類型:
如果你想得到每個文件的絕對路徑,你可以在返回值上調用realpath()函數:
調試
下面的例子使用inspect模塊。該模塊用于調試目的時是非常有用的,它的功能遠比這里描述的要多。
這篇文章不會覆蓋這個模塊的每個細節,但會展示給你一些用例。
生成唯一ID
在有些情況下你需要生成一個唯一的字符串。我看到很多人使用md5()函數來達到此目的,但它確實不是以此為目的。
其實有一個名為uuid()的Python函數是用于這個目的的。
你可能會注意到,即使字符串是唯一的,但它們后邊的幾個字符看起來很相似。這是因為生成的字符串與電腦的MAC地址是相聯系的。
為了減少重復的情況,你可以使用這兩個函數。
序列化
你曾經需要將一個復雜的變量存儲在數據庫或文本文件中吧?你不需要想一個奇特的方法將數組或對象格轉化為式化字符串,因為Python已經提供了此功能。
這是一個原生的Python序列化方法。然而近幾年來JSON變得流行起來,Python添加了對它的支持。現在你可以使用JSON來編解碼。
這樣更緊湊,而且最重要的是這樣與JavaScript和許多其他語言兼容。然而對于復雜的對象,其中的一些信息可能丟失。
壓縮字符
當談起壓縮時我們通常想到文件,比如ZIP結構。在Python中可以壓縮長字符,不涉及任何檔案文件。
注冊Shutdown函數
有可模塊叫atexit,它可以讓你在腳本運行完后立馬執行一些代碼。想要一起學習交流想要共同進步的可以加python學習q-u-n-227+435+450 ,里有許多學習視頻資料等待著大家
假如你想在腳本執行結束時測量一些基準數據,比如運行了多長時間:
打眼看來很簡單。只需要將代碼添加到腳本的最底層,它將在腳本結束前運行。但如果腳本中有一個致命錯誤或者腳本被用戶終止,它可能就不運行了。
當你使用atexit.register()時,你的代碼都將執行,不論腳本因為什么原因停止運行。
打算深入了解python的小伙伴們,可以加下小編的Python學習群:862672474,不管你是小白還是大牛,小編我都歡迎,不定期分享干貨,包括小編自己整理的一份2018最新的Python資料和0基礎入門教程,歡迎初學和進階中的小伙伴。
彩蛋來了~
每天晚上20:00都會開直播給大家分享Python學習知識和路線方法,群里會不定期更新最新的教程和學習方法(進群送2018最新Python基礎學習教程),大家都是學習Python的,或是轉行,或是大學生,還有工作中想提升自己能力的Python黨,如果你是正在學習Python的小伙伴可以加入學習。最后祝所有程序員都能夠走上人生巔峰,讓代碼將夢想照進現實,非常適合新手學習,有不懂的問題可以隨時問我,工作不忙的時候希望可以給大家解惑。
總結
以上是生活随笔為你收集整理的python实用么_使用Python这么多年,才发现Python还有这些实用的功能和特点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卷积神经网络原理_人脸识别背后,卷积神经
- 下一篇: mysql查询今天_昨天_7天_近30天