我有一个函数可以从 C# 类的属性中获取字符串。如果该字段被识别为包含字符串列表的字段,它将转换为带有拆分的列表,否则它只返回一个字符串。
def GetFieldValue(self, book, strFieldName):
objReturn = getattr(book, strFieldName)
if strFieldName in listFields:
return objReturn.split(', ')
else:
return objReturn
我有另一个函数,旨在根据其类型将字符串 append 到该函数的返回值
def GetAppendedValue(self, book, strFieldName, strAppend):
objReturn = GetFieldValue(book, strFieldName)
if strFieldName in listFields:
return objReturn.append(strAppend)*
else:
return objReturn + ' ' + strAppend*
谁能帮我弄清楚为什么“*”行会产生 null/None 值?在执行这些行之前,结果在每种情况下都符合预期
最佳答案
改变:
return objReturn.append(strAppend)
与:
objReturn.append(strAppend)
return objReturn
解释:
append()
函数不返回任何内容。
至于为什么会这样:
return objReturn + ' ' + strAppend
返回 null,它可能不会 - 你只是在执行期间没有到达那条线。 如果您想确定,可以将其替换为以下内容:
objReturn += ' ' + strAppend
print objReturn
return objReturn
关于list - IronPython:list.append(string) 返回 None/null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24592652/