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'