Python - 检查空对象

vbi*_*ovs -2 python null object

我是Python的新手,我不明白它是如何工作的.我想在Python中为一个对象赋值,如果它当前是未定义的,但是当我运行if语句时,它会因为没有定义对象而失败(Duh.).

我该如何解决这个问题?

...
key = raw_input('What is your key?: ')

for i in key:
    print i
    if Count is None:
        Count = 0 

Traceback (most recent call last):
  File "Client.py", line 7, in <module>
    if Count is None:
NameError: name 'Count' is not defined
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个看似简单的问题?

上面的代码是垃圾,我正在测试它是为了理解基本的Python功能.它让我回到了为对象分配值的问题,这是我之前遇到过的问题.以下是我的思考过程.

好的,显然我不是在这里解释得很好.我不确定它是什么,但有些事情让我不得不为一个尚未相关的对象赋值.仅为了可读性,我想在语句中使用它之前检查对象的空值.从我在下面看到的内容来看,这将是必要的,而且我很可能只需处理这些问题.在我看来,这......

...
object = 'ObligatoryValue'

for i in Data
    Object = Data[0] # Now the object is relevant
    ...
Run Code Online (Sandbox Code Playgroud)

看起来比这更好......

...
for i in Data
    if Object is None:
        Object = Data[0] 
    ...
Run Code Online (Sandbox Code Playgroud)

为了进一步解释推理,我从事数据操作.我第一次遇到这个问题的时候是在比较两个对象.如果试图做...

...
Object = Line[0]
if UndefinedObject == Object
    do = 'something'
...
Run Code Online (Sandbox Code Playgroud)

但是我总是会返回一个错误,因为UndefinedObject没有赋值.

Mar*_*ers 5

您可以CountNone明确设置:

Count = None

for i in key:
   if Count is None:
       Count = 0
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,分配0开头会更容易:

Count = 0

for i in key:
Run Code Online (Sandbox Code Playgroud)