Python 属性错误:';str';对象没有属性';等于';
我一直收到这个错误,想知道是什么触发了它。这是我的函数定义:Python 属性错误:';str';对象没有属性';等于';,python,string,string-comparison,attributeerror,Python,String,String Comparison,Attributeerror,我一直收到这个错误,想知道是什么触发了它。这是我的函数定义: def spectMixGen(M, samp_size, source_pdf = "uniform", pdf_pars = 1, pure_pixels = 'no', max_purity = np.ones((1, p)), no_outliers = 0, violation_extremes = [1, 1.2], am_modulation = [1, 1], sig_variability
def spectMixGen(M, samp_size, source_pdf = "uniform", pdf_pars = 1,
pure_pixels = 'no', max_purity = np.ones((1, p)),
no_outliers = 0, violation_extremes = [1, 1.2],
am_modulation = [1, 1], sig_variability = [1, 1],
snr = 40, noise_shape = 'uniform',
noise_pars = [0, 1, 1])
这是我的函数调用:
spectMixGen(M, N, source_pdf = 'Diri_id', pdf_pars = SHAPE_PARAMETER,
max_purity = MAX_PURIRY*np.ones((1,p)), no_outliers = OUTLIERS,
violation_extremes = [1,1.2], snr = SNR, noise_shape = 'uniform')
错误指向我的代码的这一部分:
if (source_pdf == "Diri_mix"):
no_modes, cols = pdf_pars.shape
if cols is not (p+1):
raise ValueError("Wrong pdf parameters")
elif (np.sum(pdf_pars[:,1] != 1)) or (np.sum(pdf_pars[:,1] < 0) > 0):
raise ValueError("Wrong pdf parameters -> mixing weights do not define a probability")
有人能解释这个错误吗?我认为函数调用将变量source_pdf设置为字符串。不是这样吗
谢谢包含函数体,而不仅仅是签名可能会有所帮助。您能检查
source\u pdf
变量的实际值和类型吗?@DanielLenz source\u pdf是在函数调用中定义的。我称之为source\u pdf='Diri\u id'。我假设这是一个字符串?仍然缺少一个代码,您是否对源\u pdf变量做了什么<代码>'Diri\u id'==“Diri\u mix”工作正常,返回False。请确保始终包含一个。这通常也会帮助你自己回答问题。
AttributeError: 'str' object has no attribute 'equals'