当前位置: 首页 > 面试题库 >

什么是“ NoneType”对象?

充浩波
2023-03-14
问题内容

运行python脚本时出现此错误:

TypeError: cannot concatenate 'str' and 'NoneType' objects

我很确定’str’是字符串,但是我不知道’NoneType’对象是什么。我的脚本在第二行开始,我知道第一个行之有效,因为该行的命令符合我的期望。起初我以为可能是因为我在send_command中使用了变量和用户输入。

“ CAPS”中的所有内容都是变量,“小写”中的所有内容都是从“ parser.add_option”选项输入的。

我正在使用pexpect和optparse

send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)
send_command(child, SNMPSRVUSRCMD + snmpuser + group + V3AUTHCMD + snmphmac + snmpauth + PRIVCMD + snmpencrypt + snmppriv)

问题答案:

NoneTypeNone对象的类型,即 没有任何值
的对象。None是“什么都不返回”的函数的返回值。它也是搜索某些内容或可能找不到的函数的常见默认返回值。例如,re.search正则表达式不匹配,或者dict.get字典中的键没有条目时,返回该值。您不能添加None到字符串或其他对象。

您的变量之一是None,而不是字符串。也许你忘了return在你的功能之一,也可能用户没有提供命令行选项,optparse给你None该选项的值。当您尝试添加None到字符串时,会出现该异常:

send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)

其中一个groupSNMPGROUPCMDV3PRIVCMDNone其价值。



 类似资料:
  • 问题内容: 我不断收到错误消息,说 我的代码太长了,无法在此处发布。哪些一般情况会导致这种情况,这NoneType意味着什么,我如何缩小正在发生的事情? 问题答案: NoneType意味着你实际上拥有了而不是你认为正在使用的任何或的实例。这通常意味着在上面的赋值或函数调用失败或返回了意外结果。

  • 问题内容: 任何人都可以确认我是否正确地在下面的方法调用中看到了该参数: 作为对象类型的数组?我不记得以前在Java中见过。 问题答案: 它等效于,但允许调用者一次只指定一个值作为参数,编译器将创建一个数组。所以这个电话: 相当于 有关更多信息,请参见varargs功能的文档(在Java 5中引入)。

  • 有人在IRC中提到它是切片问题。

  • 我正在尝试对函数返回的值发出警报,并且在警报中得到以下信息: 下面是JavaScript代码: 是我试图检查的函数。

  • 问题内容: 你能给我一些有关对象头中确切存储的信息吗?我知道,这可能取决于JVM,但也许至少对于HotSpot?我正在寻找专门针对第一行的确切描述。 我已经阅读了一些信息,这些信息无法用我找到的信息进行正面验证。也许你有指向全部内容的OpenJDK Wiki的链接? 问题答案: 对象头由一个标记词和一个klass指针组成。 所述标记字具有(字大小在32位体系结构中,在64位体系结构)和 在克拉斯指

  • 问题内容: 我正在一个JavaScript项目上,只是想知道为什么对象实例不继承和其他方法,而不必调用超类(superobject?)方法。 我看过了MDN文档,实际上有“非标准”属性方法。 但这些已被弃用。为什么要转向方法? 在我看来,类似的东西比更好。对于其他一些Object方法,我也会说同样的话。 问题答案: 这是为了避免发生冲突-通常情况下,对象的问题不具有所需值的属性。 JS中的对象通常