深入理解python中None的用法

一、首先应该理解None

python中的是一种特殊的对象,对象类型为NoneType


竟然是对象,那么就应该有对象的属性,但是None它比较特殊,它的值就是None.

二、了解None的使用

在日常代码使用中判断一个变量的值是否为空是需要根据类型来判断的:

a = False # 此时a的类型为bool
if a:print(1)
else:print(2)
# 此时输出的结果为2

原因:if a:这种判断是用来判断a是否为None这种类型的,如果是None这种类型则输出1(很明显,bool类型不是NoneType类型)

三、比较使用

知道原因后来比较一下如何判断其他非None这种类型的变量吧

# bool类型
a = False
if a == False:print(1)
else:print(2)# str类型
a = ''
if a =='':print(1)
else:print(2)

以上输出均为1

总结

python中的None常用来做为一个函数的返回值,
使用时也是直接使用

if fun():

来判断是否为None.而其他判断方式本质判断的是类型的值,如:

if =='':

这种方式.

深入理解python中None的真正用法相关推荐

  1. python class用法理解_带你全面理解python中self的用法

    self代表类的实例,而非类. 执行结果如下 从上面的例子中可以很明显的看出,self代表的是类的实例.而self.class则指向类. self不必非写成self 把上面的代码改写一下. 改成thi ...

  2. 全面理解python中self的用法

    self代表类的实例,而非类. class Test:def prt(self):print(self)print(self.__class__)t = Test() t.prt() 执行结果如下 & ...

  3. pythonself用法_全面理解python中self的用法

    self代表类的实例,而非类. classTest:defprt(self):print(self)print(self.__class__) t=Test() t.prt() 执行结果如下 从上面的 ...

  4. python中*args和**kwargs的理解,Python中的*args和**kwargs的理解与用法

    一.简述 1.*args和**kwargs 这两个是python中方法的可变参数. 2.*args表示任何多个无名参数,它是一个tuple: 3.**kwargs表示关键字参数,它是一个dict.并且 ...

  5. 如何简单地理解Python中的if __name__ == '__main__'

    如何简单地理解Python中的if __name__ == '__main__' 文章目录: 一.摘要 二. 程序入口 虽然已经知道这个具体的用法,但是这篇文章有很多细节写的还是很好,决定转载一下,日 ...

  6. python中break怎么用_详解Python中break语句的用法

    详解Python中break语句的用法 在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中 ...

  7. [转载]理解PYTHON中的装饰器

    [翻译]理解PYTHON中的装饰器 来源stackoverflow上的问题 链接 python的函数是对象 要理解装饰器,首先,你必须明白,在python中,函数是对象. 这很重要. 简单例子来理解为 ...

  8. Python 中for else的用法

    Python 中for else的用法 例子 总结 例子 上几段代码你就会理解了 for i in range(6):if i % 3 == 0:print(i)#break else:print(& ...

  9. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

最新文章

  1. Linux下的vim文本替换,Linux下文本的vim文本替换
  2. 25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
  3. 【RecyclerView】 十、RecyclerView 数据更新 ( 增加单条数据 | 批量增加数据 )
  4. 数字证书原理,公钥私钥加密原理
  5. java jsonobject转List_java – 将JSONObject转换为List或JSONArray的简单代码?
  6. 在Mac下的前端开发必备工具
  7. NDK 交叉编译常用变量
  8. powershell 文件/文件夹操作
  9. db2存储过程 可以使用游标循环嵌套吗_DB2存储过程使用动态游标的例子
  10. 二分查找——A-B数对(洛谷 P1102)
  11. ubuntu mysql 数据_Ubuntu下MySQL数据库使用
  12. 基于SSLStrip的HTTPS会话劫持
  13. 字段缺失_数据科学| 手把手教你用 pandas 索引、汇总、处理缺失数据
  14. 五日均线指标编程案例讲解
  15. iText7高级教程之html2pdf——4.使用pdfHTML创建报告
  16. html5 拖拽 编辑 插件,超给力 Vue.js 可视化H5拖拽编辑器Quark-H5
  17. 论个人英雄主义的失败
  18. python练习题——十大歌手
  19. 马云退隐前,在年会上说了最重要的三件事
  20. 抖音seo源码,抖音seo矩阵系统源码技术搭建

热门文章

  1. 【笑话】错发短信 ------ 在我们学校bbs看到的,挺有意思,哈哈
  2. 官方教程 Redshift 07 Instances and Proxy
  3. SAR目标检测数据集汇总
  4. jQuery 源码分析笔记(7)
  5. 【错误总结】expected specifier-qualifier-list before sth
  6. 技术管理者应有的 4 种基本思维模式
  7. Android 悬浮窗的简单实现
  8. MGD【知识蒸馏】【expand】
  9. Rxjava Disposable解除订阅(Retrofit2+Rxjava2主动取消网络请求)
  10. [CTSC1999]家园 - 网络流24题