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

你学会了什么

学会了假装写有类型的变量,也许可以拿来装……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值