Python中的None与 NULL(即空字符)的区别详解


Posted in Python onSeptember 24, 2020

1.首先要了解Python的对象的概念:

Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,‘oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是一个对象

那对于一个对象,它就有包括两方面的特征: 
属性:去描述它的特征 
方法: 它所具有的行为 

所以,对象=属性+方法 (其实方法也是一种属性,一种区别于数据属性的可调用属性

把具有相同属性和方法的对象就可以归为一类,即Classl。类就好比是一张蓝图,使用一个类可以创建多个对象实例
 即人,猫,狗都属于哺乳动物类

类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物

类也是有属性和方法的。

2.数据类型也是对象

实际上Pyhton在面向对象程序设计时,才会有对象这个概念,而在面向过程型程序设计时,我们讨论最多的就是数据类型。

Python提供的基本数据类型主要有:布尔类型、整型、浮点型、字符串、列表、元组、集合、字典等

数据类型也可以看做是一个”类“
每一种数据类型都是一个对象,也具有其自己的属性和方法

3.Python中的None与 NULL(即空字符)的区别

了解以上概念,就不难理解None 与null的区别

(1)是不同的一种数据类型

>>>type(None)
<class 'NoneType'>

 表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

>>>type('')
<class ''str'>

你可以将None赋值给任何变量,也可以将任何变量赋值给一个None值得对象

(2)判断的时候 均是False

>>> ff=None
>>> if ff:
 print('ff is define')

执行结果:无打印!1 

(3)属性不同

使用dir()函数返回参数的属性、方法列表。如果参数包含方法dir(),该方法将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。

dir(None)
['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']1

dir('')
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']1

总结:

本文解释了None与 NULL(即空字符)的区别,以及Python中对象,类的概念,以及type(),dir()函数的使用。

到此这篇关于Python中的None与 NULL(即空字符)的区别详解的文章就介绍到这了,更多相关Python None与 NULL内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
python按比例随机切分数据的实现
Jul 11 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
解决pytorch 的state_dict()拷贝问题
Mar 03 Python
简单介绍Python的第三方库yaml
Jun 18 Python
python绘制分布折线图的示例
Sep 24 #Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 #Python
python 如何调用 dubbo 接口
Sep 24 #Python
python matplotlib绘制三维图的示例
Sep 24 #Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 #Python
Django路由层URLconf作用及原理解析
Sep 24 #Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 #Python
You might like
PHP 获取ip地址代码汇总
2015/07/05 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
Using the TextRange Object
2006/10/14 Javascript
超级退弹代码
2008/07/07 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
2013/03/04 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
纯JS实现轮播图
2017/02/22 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python Requests 基础入门
2016/04/07 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
Python argparse模块应用实例解析
2019/11/15 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
洗发露广告词
2014/03/14 职场文书
如何写新闻稿
2015/07/18 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技