TypeError:'> =' ' type'的实例之间不支持和' int'

时间:2017-09-17 02:19:52

标签: python-3.x function

我试图在python中定义一个heavyiside函数,但是得到了一个奇怪的错误。我不确定'键入'是指因为0可以只是一个整数。请指教

#Part A - Plot function against values of variable x
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate as quad
import math 

#make heaviside "theta" function

x = int 
def heaviside (x): 
    if (x >= 0):
        return 1
    else: 
    return 0 

#plot
x = int
y = heaviside(x)*[1-heaviside(x-1)]
plt.plot(x, y)

2 个答案:

答案 0 :(得分:1)

当声明x = int时,您将x等同于数据类型int,而不是该数据类型的实例。 您可以运行类似此代码的内容来查看它。

close()

相当于运行

>>> x = int
>>> x(4.5)
4

如果您传递x的数值,例如x = 4,那么您将不会遇到此错误。

以下代码不再引发此错误。由此产生的情节并不多;但是没有TypeError:无法解决的类型:type()> = int()

>>>int(4.5)
4

答案 1 :(得分:0)

您设置的x不正确。如果你想让x成为一个整数,只需使用如下的赋值运算符。

x = 5