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技能
※面向對象:連IE都有勇氣問你,是否要將它設成預設瀏覽器,於是我鼓起勇氣來找你~
※15 分鐘參透比特幣和區塊鏈
TAG:Python開發者 |