a = None
b = None
print id(a),id(b),id(None) # 9430224 9430224 9430224 可能在别的环境下运行不是这个数,但是这三个数应该是一样的。
print a == b == None # True
print type(None)
print "##### 以下均为 False ####"
print 0 == None
print 0 is None
print {} == None
print {} is None
print [] == None
print [] is None
print "" == None
print "" is None
print () == None
print () is None
print False is None
print False == None
print (not True) is None
print (not True) == None
print (not [1,]) == None
print (not [1,]) is None
print not [1,]
print not True
print "###### 以上均为 False ######### "
print (not None) # True
print True is not None # True
print [] is not None # True
print [1] is not None # True
print False is not None # True
print None == None # True
print None is None # True
print (not None)

None 既不是 0,[],{},也不是 " ",它就是一个空值对象。其数据类型为 NoneType,遵循单例模式。它只是自己,也只和自己相等。

list1 = []
# list1 = [1] if list1 is not None: # 这句话可能想表达的意思是:如果list1 不为空。就怎样怎样。在这里面隐藏着一个错误的认识 [] == None
print"我不是空的" #将会打印这句 无论list1 是否真的为空,如此写法都只会打印这句
else:
print"我是空的" if list1 is None:
print '我不是空的'
else:
print '我是空的' #将会打印这句 无论list1 是否真的为空,如此写法都只会打印这句 if list1:
print"我不是空的" # 如果list1 不为空,将会打印这句。
else:
print "我是空的" #将会打印这句 print id(None)
def ae(m = None):
print id(m)
print m
if m == None:
print 'aasd' ae()

python 的None 探究的更多相关文章

  1. python深浅copy探究

    引入 在python程序中,如果我们操作一个变量的值去做运算,而又想在下次调用时,仍使用原来的变量的值去做运算,那么我们我们就需要将这个变量去做备份,这就是本文所要探究的问题. 开始 变量-对象-引用 ...

  2. Python装饰器探究——装饰器参数

    Table of Contents 1. 探究装饰器参数 1.1. 编写传参的装饰器 1.2. 理解传参的装饰器 1.3. 传参和不传参的兼容 2. 参考资料 探究装饰器参数 编写传参的装饰器 通常我 ...

  3. python strip() 函数探究

    strip()方法语法:str.strip([chars]); 声明:str为字符串,rm为要删除的字符序列 str.strip(rm) 删除字符串中开头.结尾处,位于rm删除序列的字符 eg1: # ...

  4. Python——flask漏洞探究

    python的用途是真的多,就连网站也能做,这个有点像Java的Servlet flask基础 hello world 我们先从基础的开始,在网页上打出hello world,python代码如下: ...

  5. python装饰器探究与参数的领取

    首先上原文, 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为"装饰器" ...

  6. Python的设计哲学探究

    在Python shell中输入import this就会在屏幕上打印出来Python的设计哲学,如下: In [25]: import this The Zen of Python, by Tim ...

  7. Python下探究随机数的产生原理和算法

    资源下载 #本文PDF版下载 Python下探究随机数的产生原理和算法(或者单击我博客园右上角的github小标,找到lab102的W7目录下即可) #本文代码下载 几种随机数算法集合(和下文出现过的 ...

  8. Python中list的复制及深拷贝与浅拷贝探究

    在Python中,经常要对一个list进行复制.对于复制,自然的就有深拷贝与浅拷贝问题.深拷贝与浅拷贝的区别在于,当从原本的list复制出新的list之后,修改其中的任意一个是否会对另一个造成影响,即 ...

  9. [转帖]虚拟内存探究 -- 第二篇:Python 字节

    虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦     ...

随机推荐

  1. Apache Spark 内存管理详解

    在spark里面,内存管理有两块组成,一部分是JVM的堆内内存(on-heap memory),这部分内存是通过spark dirver参数executor-memory以及spark.executo ...

  2. Spring Cloud 入门 之 Hystrix 篇(四)

    原文地址:Spring Cloud 入门 之 Hystrix 篇(四) 博客地址:http://www.extlight.com 一.前言 在微服务应用中,服务存在一定的依赖关系,如果某个目标服务调用 ...

  3. wsdl详解

    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http:// ...

  4. 【python】网络编程-套接字常用函数

  5. C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  6. debian的pdf阅读器

    www.foxitsoftware.cn下载deb包 或者 sudo apt-get install evince

  7. java判断字符串中是否含有中文

    /** * 判断字符串中是否含有中文 */ public static boolean isCNChar(String s){ boolean booleanValue = false; for(in ...

  8. 峰Spring4学习(3)注入参数的几种类型

    People.java  model类: package com.cy.entity; import java.util.ArrayList; import java.util.HashMap; im ...

  9. 云-Azure-百科:Azure

    ylbtech-云-Azure-百科:Azure Windows Azure是微软基于云计算的操作系统,现在更名为“Microsoft Azure”,和Azure Services Platform一 ...

  10. python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures

    1.用例执行顺序 unittest默认会按照ascii码的顺序,依次执行.类名--方法名排序,使用discover也是默认排序.如果不想使用默认排序,就使用testsuite测试集的方式. impor ...