当前位置: 首页 > 编程笔记 >

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

广瑞
2023-03-14
本文向大家介绍Python中的None与 NULL(即空字符)的区别详解,包括了Python中的None与 NULL(即空字符)的区别详解的使用技巧和注意事项,需要的朋友参考一下

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内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍js中null与空字符串""的区别讲解,包括了js中null与空字符串""的区别讲解的使用技巧和注意事项,需要的朋友参考一下 String str=null 这句话的意思就是定义一个字符串,变量str,字符串的内容为空值。 String str=“” 定义一个String类型的变量str,并为其赋值。 1、类型 null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用

  • 本文向大家介绍详解Java中字符流与字节流的区别,包括了详解Java中字符流与字节流的区别的使用技巧和注意事项,需要的朋友参考一下 本文为大家分析了Java中字符流与字节流的区别,供大家参考,具体内容如下 1. 什么是流     Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中

  • 本文向大家介绍区分MySQL中的空值(null)和空字符(''),包括了区分MySQL中的空值(null)和空字符('')的使用技巧和注意事项,需要的朋友参考一下 日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符。 空字符('')和空值(null)表面上看都是空,其实存在一些差异: 定义: 空值(NULL)的长度是NULL,不确定占用了多少存储空间,但是占

  • 本文向大家介绍字节与字符的区别?相关面试题,主要包含被问及字节与字符的区别?时的应答技巧和注意事项,需要的朋友参考一下 字节是存储容量的基本单位。 字符是数子,字母,汉子以及其他语言的各种符号。 1 字节=8 个二进制单位:一个一个字符由一个字节或多个字节的二进制单位组成。

  • 本文向大家介绍C#中string.Empty和null的区别详解,包括了C#中string.Empty和null的区别详解的使用技巧和注意事项,需要的朋友参考一下 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论。但是我觉得都是不求甚解,有一些还是在误导别人。下面我来说下我对这三者的理解,如有错误的地方请大家及时指正。   一:""与string.Empty我认为是一样的。网上有一篇被转载

  • 问题内容: 我最近遇到了这种语法,但我没有意识到两者之间的区别。 如果有人可以告诉我与众不同,我将不胜感激。 问题答案: 一个类可以自由选择以任何方式实现比较,并且可以选择与None进行比较意味着某种意义(这实际上是有道理的;如果有人告诉你从头开始实现None对象,那么你将如何获得它来比较True?反对自己?)。 实际上,由于自定义比较运算符很少见,因此差异不大。但是你应该使用般规则。