zoukankan      html  css  js  c++  java
  • 如何理解Python中的None

    Python中的None是一个经常被用到的知识点,但是很多人对于None的内涵把握的还是不够精确,今天就和我一起好好理解下这个小知识点吧。

    1.None表示空,但它不等于空字符串、空列表,也不等同于False,通过下面的代码进行验证。

     a = ''
    b = False
    c = []
    
    print(a==None)   #比较值
    print(b==None)
    print(c==None)
    
    print(a is None)
    
    False
    False
    False
    False
    

    2.在写代码的过程中,会对某些代码进行判空操作。比如有一个变量a,那么if not a和if a is None两者有区别吗?如果说没有区别,那么不管a为何值时,这两个判断语句会返回相同的结果,但事实是这样吗?一起看下面这段代码,体会一下对None的判空操作

     def fun():
        return None
    
    a =fun()
    if not a:   #逻辑运算
        print('S')
    else:
        print('F')
    
    if a is None:
        print('S')
    else:
        print('F')
    
    
    S
    S
    

    运行代码发现,结果是一样的,这是由于我们调用函数时,会返回None,那么此时两个判断语句返回的结果是一样的,但是如果我们将a的值换成一个空列表,会出现什么结果呢?

     def fun():
        return None
    
    a = []
    if not a:   #逻辑运算
        print('S')
    else:
        print('F')
    
    if a is None:
        print('S')
    else:
        print('F')
    
    S
    F
    

    运行结果,发现会打印不一样的值。那么这是为什么呢?对于not a它的意思相当于True,所以会打印出S,而a is None是比较运算,它们不属于同一种类型,因此会出现不一样的打印值。

    本文转载于tps://www.py.cn/faq/python/13508.html

  • 相关阅读:
    腾讯的网站是如何检测到你的 QQ 已经登录?
    怎么改变html中placeholderr的文字颜色
    [分享]2013:Linux的黄金之年-十大杰出成就
    .NET MVC 两种视图引擎(Razor、Aspx)
    android:visibility
    获取目录
    Android 判断字符串是否相等
    Android Sqlite
    android 积累
    Android ListView 使用
  • 原文地址:https://www.cnblogs.com/jsdd/p/11733774.html
Copyright © 2011-2022 走看看