草庐IT

NoneType

全部标签

python - 将 "NoneType object has no attribute"用于自定义上下文管理器时获取 "with ... as"

我用Python编写了一个简单的上下文管理器来处理单元测试(并尝试学习上下文管理器):classTestContext(object):test_count=1def__init__(self):self.test_number=TestContext.test_countTestContext.test_count+=1def__enter__(self):passdef__exit__(self,exc_type,exc_value,exc_traceback):ifexc_value==None:print'Test%dpassed'%self.test_numberelse:p

python - 附加将我的列表变为 NoneType

这个问题在这里已经有了答案:Whydotheselistoperations(methods:clear/extend/reverse/append/sort/remove)returnNone,ratherthantheresultinglist?(4个回答)关闭上个月。在PythonShell中,我输入了:aList=['a','b','c','d']foriinaList:print(i)得到了abcd但是当我尝试时:aList=['a','b','c','d']aList=aList.append('e')foriinaList:print(i)得到了Traceback(mos

python - 从列表中删除 NoneType 元素的 native Python 函数?

我在Python中使用BeautifulSoup从HTML文件中抓取一些数据。在某些情况下,BeautifulSoup返回包含string和NoneType对象的列表。我想过滤掉所有NoneType对象。在Python中,包含NoneType对象的列表是不可迭代的,因此列表推导不是一个选项。具体来说,如果我有一个包含NoneTypes的列表lis,并且我尝试执行类似[xforxinlis(somecondition/function)],Python会抛出错误TypeError:argumentoftype'NoneType'isnotiterable。正如我们在otherposts中

Python NoneType 对象不可调用(初学者)

它告诉我第1行和第5行(调试/编程新手,不确定是否有帮助)defhi():print('hi')defloop(f,n):#frepeatsntimesifn>>>loop(hi(),5)hif()TypeError:'NoneType'objectisnotcallable为什么会出现这个错误? 最佳答案 您希望将函数objecthi传递给您的loop()函数,而不是调用的结果到hi()(这是None因为hi()不返回任何东西)。所以试试这个:>>>loop(hi,5)hihihihihi也许这会帮助你更好地理解:>>>print

python - 为什么我得到 AttributeError : 'NoneType' object has no attribute 'something' ?

我不断收到一个错误提示AttributeError:'NoneType'objecthasnoattribute'something'我的代码太长,无法在此处发布。什么一般情况会导致此AttributeError,NoneType应该是什么意思以及如何缩小发生的范围? 最佳答案 NoneType意味着您实际上拥有的是None,而不是您认为正在使用的任何类或对象的实例。这通常意味着上面的赋值或函数调用失败或返回了意外的结果。 关于python-为什么我得到AttributeError:'N

python - 如何正确使用单元测试的 assertRaises() 和 NoneType 对象?

这个问题在这里已经有了答案:HowdoyoutestthataPythonfunctionthrowsanexception?(19个回答)关闭4年前。我做了一个简单的测试用例:defsetUp(self):self.testListNone=NonedeftestListSlicing(self):self.assertRaises(TypeError,self.testListNone[:1])我期待测试通过,但我遇到了异常:Traceback(mostrecentcalllast):self.assertRaises(TypeError,self.testListNone[:1]

python - 如何正确使用单元测试的 assertRaises() 和 NoneType 对象?

这个问题在这里已经有了答案:HowdoyoutestthataPythonfunctionthrowsanexception?(19个回答)关闭4年前。我做了一个简单的测试用例:defsetUp(self):self.testListNone=NonedeftestListSlicing(self):self.assertRaises(TypeError,self.testListNone[:1])我期待测试通过,但我遇到了异常:Traceback(mostrecentcalllast):self.assertRaises(TypeError,self.testListNone[:1]

Python无比较: should I use "is" or ==?

当我比较my_var==None时,我的编辑器会发出警告,但当我使用my_varisNone时不会发出警告。我在Pythonshell中进行了测试,并确定两者都是有效的语法,但我的编辑器似乎在说my_varisNone是首选。是这样吗,如果是,为什么? 最佳答案 总结:当您想检查对象的identity时使用is(例如检查var是否为None)。当您想要检查相等性时使用==(例如,var是否等于3?)。说明:您可以有自定义类,其中my_var==None将返回True例如:classNegator(object):def__eq__(

Python无比较: should I use "is" or ==?

当我比较my_var==None时,我的编辑器会发出警告,但当我使用my_varisNone时不会发出警告。我在Pythonshell中进行了测试,并确定两者都是有效的语法,但我的编辑器似乎在说my_varisNone是首选。是这样吗,如果是,为什么? 最佳答案 总结:当您想检查对象的identity时使用is(例如检查var是否为None)。当您想要检查相等性时使用==(例如,var是否等于3?)。说明:您可以有自定义类,其中my_var==None将返回True例如:classNegator(object):def__eq__(

python - 从列表中删除 None 值而不删除 0 值

ThiswasmysourceIstartedwith.我的listL=[0,23,234,89,None,0,35,9]当我运行这个时:L=filter(None,L)我得到了这个结果[23,234,89,35,9]但这不是我需要的,我真正需要的是:[0,23,234,89,0,35,9]因为我正在计算数据的百分位数,而0有很大的不同。如何在不删除0值的情况下从列表中删除None值? 最佳答案 >>>L=[0,23,234,89,None,0,35,9]>>>[xforxinLifxisnotNone][0,23,234,89,0