分享 Python 3.6 中常用的幾個新特性
Python 3.6 釋出已經有段時間了,不少新特性應該被很多開發者用在了日常的開發中,這篇文章主要介紹下自己在開發中常用到的幾個。
增加數字可讀性
在定義數字的時候,有一個語法特性可以讓數字可讀性增強,即你在數字之間可以按照自己的喜好新增一個下滑線,就像這樣
在這裡還是要推薦下我自己建的Python開發學習群:628979297,群裡都是學Python開發的,如果你正在學習Python ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有Python軟體開發相關的),包括我自己整理的一份2018最新的Python進階資料和高階開發教程,歡迎進階中和進想深入Python的小夥伴
這樣書寫方式與之前的並無區別
語義其實是一樣的,也就是定義了一個值為 100000 的變數。
當然,對於十六進位制與二進位制也是支援的
這個小修改也恰好體現了 Python 之禪的 Readability counts (可讀性很重要)這一點吧。
詳情請看 PEP 515 。
新的格式化字串的方法
Python 3.6 中新增了另一種格式化字串的方法,這個方法允許你在字串中直接嵌入表示式。下面有兩個例子,可以看看感受一下
另外,和之前的 str.format() 格式化字串的方法類似,也可以用特定的格式說明符說明格式化的方式。比如我們想用十六進位制的形式格式化一個十進位制的數,可以這樣
相比於之前的 '...' % (val1[, val2, ...]) 以及 str.format() ,這種方式不管是書寫上還是可讀性上,感覺都方便了不少,所以如果你在 Python 3.6 中做開發的話,我十分推薦這種方式。
詳情請看 PEP 498 。
變數的型別註解
從 Python 3.5 開始,你可以給函式新增型別註解
在 Python 3.6 中,你也可以給獨立的變數作型別註解,就像給函式中形式引數作註解差不多
需要注意的是,Python 的型別註解並不會在執行中執行相應的檢查
也就是說,如果你定義了一個整形的變數,而你卻賦值給它一個字串,Python 並不會報錯,對於函式的引數以及返回值的註解也是這樣的。個人覺得這更像是程式設計時的一個輔助措施。
如果你打算嚴格執行註解的要求,你可以使用 python/mypy 工具進行檢查。(使用方法請看 https://github.com/python/mypy )
詳情請看 PEP 526 。
其它值得注意的變化
新增加的模組中有一個叫做 secrets ,可以較為方便的提供密碼學安全的隨機串,我之前的一篇文章《玩轉 Python 中的隨機數》的後面部分對這個模組進行了一些簡單的說明,有興趣的朋友可以去看一下。
Python 3.6 中不僅僅是新特性的新增,也有效能的提升,比如字典型別相比之前更快,並且節省了 20% 到 25% 的空間。
當然,這個版本帶來的變化肯定不止上面這麼一些,我例舉出來的都是一些常用的點。如果想看全面的說明,可以去官網( https://docs.python.org/3.6/whatsnew/3.6.html )看看。
上面的 PEP 515 、PEP 498 、PEP 526 的具體資訊都可以在上面的地址中看到。
相關文章
- Python3.6中那些很酷的特性Python
- Python培訓分享:Python新版本中的6個新特性Python
- PHP 7 的幾個新特性PHP
- 你應該知道的Python3.6、3.7、3.8新特性Python
- .NET 9 的幾個新特性,新穎嗎?
- ES6中常用的10個新特性講解
- python 的幾個常用的函式Python函式
- Python 3.8與普通程式設計師有關的幾個新特性Python程式設計師
- 微軟C# 8.0中的幾個特性微軟C#
- 分享 [ASP.NET]幾個常用的MVC設定ASP.NETMVC
- Oracle 21c新特性預覽與日常管理相關的幾個新特性Oracle
- SpriteKit 在iOS個版本中的新特性iOS
- ES6常用的新特性
- 我常用的幾個SQL,不斷新增中SQL
- 【python】Python 3 的新特性Python
- es6新特性分享
- 這幾個python常用的庫你必須知道!Python
- 常用的Python機器學習庫合集,你用過幾個?Python機器學習
- C#中幾個不常用的操作符C#
- GCD常用的幾個方法GC
- Java8常用的新特性總結Java
- ES6常用的新特性總結
- ConstraintLayout 約束佈局的幾個新特性筆記整理AI筆記
- Python中常用的模組有哪些?看看你知道幾個!Python
- Python最常用的基礎語句,你知道幾個?Python
- 【學習】分享幾個學習中的小問題
- 分享Java面試中的幾個重要基礎問題!Java面試
- Python機器學習常用庫,你用過哪幾個?Python機器學習
- git的幾個常用基本操作Git
- 幾個常用函式的使用函式
- 常用的幾個典型指令碼指令碼
- 分享幾個Python小技巧函式裡的4個小花招Python函式
- 分享幾個寫 demo 的思路
- 分享幾個實用的方法
- 軟體測試-各個特性常用特性
- 日常開發中的幾個常用跨域處理方式跨域
- SQLServer中需要經常用到的幾個設定選項SQLServer
- 18個常用的JavaScript片段分享JavaScript