Python——debug(二)

来源:互联网 发布:台式电脑推荐2017 知乎 编辑:程序博客网 时间:2024/06/06 19:25

Python——debug

TypeError: ‘NoneType’ object is not subscriptable

字面意为:NoneType 类型的对象显然不可索引;

NoneType object 的一种可能情况即是:将一个没有返回值的函数(对,Python 允许函数没有返回值)赋给某一对象,则对象即为NoneType类型对象。

>>> l = [1, 2, 3]>>> l = l.reverse()>>> type(l)NoneType

维度不匹配

传递序列即是传递序列,而非一个元素一个元素地进行传递

import numpy as npimport matplotlib.pyplot as pltdef f1(x):    return 2*x+1def f2(x):    return 2# 步长为小数,必须使用np.arange(),而不可使用生成整数序列的rangex = np.arange(-5, 5, .01)y1 = f1(x)y2 = f2(x)plt.plot(x, y1)# 出错,x和y2维度不匹配plt.plot(x, y2)

对于函数f1,接收序列x,而不是分别接收其中的元素,输入映射为输出,且长度相同,一一对应。对于函数f2,接收一个具有一定长度的序列x,输出仅为一个2,而不是将序列x的每一个元素分别映射为1,所以输出y2的长度仅为2,故而维度不匹配。

y2 = np.ones(len(x))*2plot(x, y2)
0 0
原创粉丝点击