python中none是什么类型_如何在Python中”测试”None类型?

我有一个方法,它有时返回一个非类型的值。那么我怎样才能质疑一个非类型的变量呢?例如,我需要使用if方法

if not new:

new = '#'

我知道这是错误的方式,我希望你理解我的意思。

我想这是在这里回答的,显然是在以前的某个地方。

如果您的方法返回的值只有bool(returnValue)等于False,那么if not new:应该可以正常工作。这有时发生在内置libs中——例如,re.match返回none或truthy match对象。

也可以在这里看到我关于python中的null和None的答案。

So how can I question a variable that is a NoneType?

使用is运算符,如下所示

if variable is None:

为什么会这样?

由于None是python中NoneType唯一的单例对象,所以我们可以使用is操作符来检查变量中是否有None。

引用is号文件,

The operators is and is not test for object identity: x is y is true if and only if x and y are the same object. x is not y yields the inverse truth value.

由于只有一个None实例,因此is是检查None的首选方法。

从马嘴里听到

引用了python的编码风格指南-pep-008(由guido自己共同定义)。

Comparisons to singletons like None should always be done with is or is not, never the equality operators.

if variable is None:

...

if variable is not None:

...

根据亚历克斯·霍尔的回答,也可以用isinstance来完成:

>>> NoneType = type(None)

>>> x = None

>>> type(x) == NoneType

True

>>> isinstance(x, NoneType)

True

isinstance也是直观的,但其复杂之处在于,它需要一条线。

NoneType = type(None)

这对于像int和float这样的类型是不需要的。

由于你不能将NoneType分为子类,由于None是单体,因此不应使用isinstance来检测None,而应按照公认的答案进行,并使用is None或is not None。

不在python3.6.7上工作

正如亚伦希尔的命令所指出的:

Since you can't subclass NoneType and since None is a singleton, isinstance should not be used to detect None - instead you should do as the accepted answer says, and use is None or is not None.

原始答案:

然而,最简单的方法是,除了豆蔻的答案之外,如果没有额外的行,可能是:isinstance(x, type(None))

So how can I question a variable that is a NoneType? I need to use if method

使用isinstance()不需要if语句中的is:

if isinstance(x, type(None)):

#do stuff

附加信息您还可以在一个isinstance()语句中检查多个类型,如文档中所述。只需将类型编写为元组即可。

isinstance(x, (type(None), bytes))

由于你不能将NoneType分为子类,由于None是单体,因此不应使用isinstance来检测None,而应按照公认的答案进行,并使用is None或is not None。

这个答案对python 3.6.7很有用。

Python 2.7:

x = None

isinstance(x, type(None))

isinstance(None, type(None))

=真

由于你不能将NoneType分为子类,由于None是单体,因此不应使用isinstance来检测None,而应按照公认的答案进行,并使用is None或is not None。

哦,好吧!谢谢!

希望这个例子对您有所帮助)

print(type(None) # NoneType

所以,您可以检查变量名的类型

#Example

name = 12 # name = None

if type(name) != type(None):

print(name)

else:

print("Can't find name")

不确定这是否回答了问题。但我知道我花了一段时间才弄明白。我在浏览一个网站,突然作者的名字不在了。所以需要一个支票声明。

if type(author) == type(None):

my if body

else:

my else body

在这种情况下,author可以是任何变量,None可以是您要检查的任何类型。

由于None是单体的,所以不应使用type来检测None—而是应按照公认的答案进行,并使用is None或is not None。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 一个文件调用另一个文件的函数模板

笔记 实验得出 函数模板只能被本文件调用,这一点与inline函数和静态函数相似 ,如果函数模板可能被其他文件调用 可以把函数模板定义在头文件中。与inline函数相同,在不同文件可以定义同名同模板列表同函数参数的函数模板,甚至函数…

GO 语言笔记

使用 Visual Studio Code 开发环境配置请看 http://studygolang.com/articles/8851 为什么要使用Go 语言?Go 语言的优势在哪里? - Go 语言- 知乎 请看 https://www.zhihu.com/question/21409296 基础入门看官网 https://golang.org/ & 无闻 http…

python os读取文件名_Python3基础 os.path.splitext 处理文件名,得到文件名+扩展名

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""Author : 行初心Date : 18-10-2Blog : www.cnblogs.com/xingchuxinGitee : gitee.com/zhichengjiu"""import osdef main():file_name_…

自己写的几个常用到的函数

<?php /* * 生成指定数量和指定字符串生成随机字符串 * param int $len 获取随机字符的个数 * param string $range 指定在该字符串中获取随机字符 */ function randomString($len,$range){ if($range ){ $str 0123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNP…

我有话说

欢迎留言&#xff01;

qtreewidget 获取根节点_详解去中心化信任根dRoT技术

近日&#xff0c;第21届国际信息与通信安全会议(ICICS 2019)在北京召开。ICICS是国际公认的网络与信息安全类顶级学术会议&#xff0c;汇聚了国内外诸多信息安全专家与学术泰斗。本届ICICS 2019会议围绕信息与网络安全技术的各个方面展开深入研讨&#xff0c;议题涵盖了区块链、…

反向代理服务器的工作原理

http://blog.csdn.net/keyeagle/article/details/6723408转载于:https://www.cnblogs.com/figofifa/p/5604407.html

Linux命令:bash脚本编程--脚本

练习&#xff1a;写一个脚本adminuser33.sh&#xff0c;其用法格式为&#xff1a;adminuser33.sh --add -del -h|--help -v|--verbose其中&#xff0c;-h选项只能单独使用&#xff0c;用于显示帮助信息&#xff1b;--add选项时&#xff0c;新增用户&#xff1b;如果同时使用了-…

python实参_python的形参和实参

Python中函数参数的传递是通过“赋值”来传递的。但这条规则只回答了函数参数传递的“战略问题”&#xff0c;并没有回答“战术问题”&#xff0c;也就说没有回答怎么赋值的问题。函数参数的使用可以分为两个方面&#xff0c;一是函数参数如何定义&#xff0c;二是函数在调用时…

校招碎碎念

前两天拿了去哪儿(Qunar)的offer&#xff0c;不打算接着找了&#xff0c;心累&#xff0c;结束我的校招生涯吧&#xff0c;写写这段时间的经历。 本科生一只&#xff0c;普通一本&#xff0c;非211/985学校&#xff0c;出了省就没人认那种&#xff0c;计算机专业&#xff0c;目…

pyQuery

pyquery – PyQuery complete API 选择器基本支持jQuery用法 class pyquery.pyquery.PyQuery(*args, **kwargs)The main class class FnHook for defining custom function (like the jQuery.fn): >>> fn lambda: this.map(lambda i, el: PyQuery(this).outerHtml())…

python配置pip_Python pip源配置

pipy国内镜像目前有&#xff1a;Win7下配置pip源&#xff1a;1、在win7用户目录下创建pip目录&#xff0c;以用户user为例&#xff1a;C:\Users\user\pip2、在pip目录下新建pip.ini文件&#xff1a;C:\Users\user\pip\pip.ini3、配置文件内容&#xff1a;以下是一个简单的配置示…

Github Pages建立个人博客

使用Github Pages可以建立个人博客。官方教程&#xff1a;https://pages.github.com/步骤&#xff08;以下步骤中假设用户名为username&#xff09;&#xff1a;1.建立一个项目&#xff0c;项目名为username.github.io2.初始化项目&#xff0c;上传网页代码到github。转载于:ht…

判断该网页是在什么设备打开。

为什么80%的码农都做不了架构师&#xff1f;>>> <script type"text/javascript"> //判断访问终端 var browser{versions:function(){var u navigator.userAgent, app navigator.appVersion;return {trident: u.indexOf(Trident) > -1, //IE内…

python变量和常量_python变量与常量内容:

python变量与常量内容:# 变量&#xff1a;定义世间万物变化的状态height 180weight 140age 18tree_name yuyang# print(180)height 180print(height:, height)weight 140print(weight:, weight)age 18print(age:, age)tree_name yuyangprint(tree_name:, tree_name)# 变量的…

EF二级缓存

https://efcache.codeplex.com/ 转载于:https://www.cnblogs.com/shiningrise/p/5612941.html

python wordpress xmlrpc_python-markdown自动发送wordpress文章(python-xmlrpc-wordpress)

一直热衷使用Markdown&#xff0c;使用了图床&#xff0c;以及多款的MD编辑器。wp的后台太重了&#xff0c;又不想转 hexo git &#xff0c;对于文章上传至博客&#xff0c;总想办法折腾怎么上传wordprss。之前的解决办法就是&#xff0c;直接将MD编辑器生成的html复制到wordp…

Android 5.1 - 状态栏充电标志问题

Android 5.1 Ubuntu14.04 SourceInsigh电量已满&#xff0c;插着USB头&#xff0c;观察Settings - Battery&#xff0c;电量为100%&#xff0c;状态为full&#xff0c;但仍有充电图标rust之前有读过关于StatusBar的代码。这次直接用SourceInsight找到 StatusBarHeaderView.jav…

kail中tools的安装和第一个php学习笔记

安装tools 打开 鼠标右击选择 创建文件夹 mkdir cdrom 把tools文件复制到 位置——计算机——cdrom文件夹下 打开 cdrom cd cdrom 复制生成的目录 解压文件夹&#xff1a;tar zxvf 粘贴目录 回车 ls 复制目录 cd 粘贴目录 ls 复制后缀为pl的目录 ./粘贴目录.d自动下载 Enjoy代表…

面试进阶题集锦-持续更新

面向对象的”六原则一法则” - 单一职责原则&#xff1a;一个类只做它该做的事情。&#xff08;单一职责原则想表达的就是”高内聚”&#xff0c;写代码最终极的原则只有六个字”高内聚、低耦合”&#xff0c;所谓的高内聚就是一个代码模块只完成一项功能&#xff0c;在面向对象…