python声明_【瞎折腾-03】在Python里面写类型“声明”
閱讀本文你甚至不需要2.33分鐘
這只是用來自娛自樂的。
你需要什么
Python 3.5+
因為類型"聲明"是Python3.5之后才加的特性
Python什么的對于類型真是太不友好了。由于動態類型的原因一旦遇到返回一些元組類型的東西你就沒法寫類型了。
比如這樣的代碼。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
智能提示,不存在的。
plt.subplots的返回值是這樣的:
Tuple[Any, Any]
返回兩個Any類型的元組。你用任何智能or不智能IDE/Editor都不能給你相關的函數提示的。
怎么辦呢,我們先找到他們的類型
print(type(ax))
得到的是這么個結果
居然帶下劃線emmmm(說明人家甚至不想讓你調用)
點開后matplotlib.axes._subplots發現甚至沒有AxesSubplot這個類
不過……有一個factory的函數,這就很有意思了。
說明是調用這個函數然后new了一個(啊呸,python哪來的new)
"新建"了一個type叫做 %sSubplot的,%s的內容當然就是Axes了。
看到這樣的代碼當然是大膽用Axes作為ax的類型了(逃
后者是matplotlib.axes的Axes。大膽在上面import以后。。。
你就可以使用了。。。
再給個例子。。。用上pickle的
這個是sklearn的svm里面的回歸分析的SVC分類器
這個pickle是什么我今天才知道的。但是見到用法以后立馬就知道這是干嘛用的了。而且完全可以這樣序列化和反序列化,甚至把這個過程保存到文件里面,再讀取回來。
什么,你說你的類型聲明這里沒有顏色高亮?
在設置里面
Editor-> Color Scheme -> Python
Class definition
Type annotations
或者直接點擊代碼塊里面的Foo和List 然后把顏色改了。把A9B7C6的默認顏色(為什么我記這個數字這么熟練啊)
改成你喜歡的顏色就好了。
最后,感謝一下Mor♂Van的Python教程。讓我這個啥都不會的小白都能看得懂python科學計算+機器學習是怎么玩的。MorvanZhou/tutorials
你學會了什么
學會了假裝寫有類型的變量,也許可以拿來裝……
總結
以上是生活随笔為你收集整理的python声明_【瞎折腾-03】在Python里面写类型“声明”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: latex 伪代码_Latex-算法伪代
- 下一篇: websocket python爬虫_p