當前位置:
首頁 > 知識 > Python 3.7 即將到來,引入數據類!

Python 3.7 即將到來,引入數據類!

(點擊

上方公眾號

,可快速關注)





來源:開源中國





Python 3.7將於今年夏天發布,先來窺探一些新功能。


Python 3.7中有許多新東西:




  • 各種字符集的改進



  • 對注釋的推遲評估



  • 以及對dataclass的支持


什麼是數據類


大多數Python開發人員將編寫很多類,如下所示:



數據類通過自動生成dunder方法來。例如,一個__init__接受這些參數並將其分配給自己。之前的小例子可以重寫為:


關鍵的區別在於類型提示:它們允許你標記某個變數_should_是什麼類型。在運行時,不檢查這些類型,但可以使用PyCharm或類似mypy的命令行工具來靜態檢查代碼。


星球大戰 API(Star Wars API)


如果有人用星球大戰電影的數據創建了 REST API 時,它的粉絲群肯定會興奮不已。而實際上已經有人這麼做了,他不僅創建了 Star Wars API,還為它創建了 Python 封裝庫。


而我們也可以編寫自己的封裝(Wrapper)。


我們可以使用請求庫從星球大戰API獲取資源:

response

= requests.get(

"https://swapi.co/api/films/1/"

)


此端點(與所有swapi端點一樣)以JSON消息進行響應。 

dictionary

= response.json()


我們在 dictionary 中擁有自己的數據

{

"characters"

: [

"https://swapi.co/api/people/1/"

,

               … ],

"created"

:

"2014-12-10T14:23:31.880000Z"

,

"director"

:

"George Lucas"

,

"edited"

:

"2015-04-11T09:46:52.774897Z"

,

"episode_id"

:

4

,

"opening_crawl"

:

"It is a period of civil war. … "

,

"planets"

: [

"https://swapi.co/api/planets/2/"

,

    ...],

"producer"

:

"Gary Kurtz, Rick McCallum"

,

"release_date"

:

"1977-05-25"

,

"species"

: [

"https://swapi.co/api/species/5/"

,

                ...],

"starships"

: [

"https://swapi.co/api/starships/2/"

,

                  ...],

"title"

:

"A New Hope"

,

"url"

:

"https://swapi.co/api/films/1/"

,

"vehicles"

: [

"https://swapi.co/api/vehicles/4/"

,

                 ...]

}


更多詳細說明請查看完整博客:




  • https://blog.jetbrains.com/pycharm/2018/04/python-37-introducing-data-class/


看完本文有收穫?請轉

發分享給更多人


關注「P

ython開發者」,提升Python技能


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

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


請您繼續閱讀更多來自 Python開發者 的精彩文章:

面向對象:連IE都有勇氣問你,是否要將它設成預設瀏覽器,於是我鼓起勇氣來找你~
15 分鐘參透比特幣和區塊鏈

TAG:Python開發者 |