pythonifnot中万物皆对象,所有的操作都是针对对象的那什么是对象,5是一个int对象‘oblong’是一个str对象,异常也是一个對象抽象一点是,人猫,够也是一个对象
那对于一个对象它就有包括两方面的特征:
属性:去描述它的特征
方法: 它所具有的行为
所以,对象=属性+方法 (其实方法也是一种属性一种区别于数据属性的可调用属性
把具有相同属性和方法的对象就可以归为一类,即Class类僦好比是一张蓝图,使用一个类可以创建多个对象实例
即人猫,狗都属于哺乳动物类
类是对象的抽象化对象是类的实例化。类不代表具体的事物而对象表示具体的事物
类也是有属性和方法的。
实际上Pyhton在面向对象程序设计时才会有对象这个概念,而在面向过程型程序設计时我们讨论最多的就是数据类型。
pythonifnot提供的基本数据类型主要有:布尔类型、整型、浮点型、字符串、列表、元组、集合、字典等
数據类型也可以看做是一个”类“
每一种数据类型都是一个对象也具有其自己的属性和方法
了解以上概念,就不难理解None 与null的区别
(1)是不同的┅种数据类型
表示该值是一个空对象空值是pythonifnot里一个特殊的值,用None表示None不能理解为0,因为0是有意义的而None是一个特殊的空值。
你可以将None賦值给任何变量也可以将任何变量赋值给一个None值得对象
使用dir()函数返回参数的属性、方法列表。如果参数包含方法dir()该方法将被调用。如果参数不包含dir()该方法将最大限度地收集参数信息。
本文解释了None与 NULL(即空字符)的区别,以及pythonifnot中对象类的概念,以及type()dir()函数的使用。
代码中经常会有变量是否为None的判斷有三种主要的写法:
如果你觉得这样写没啥区别,那么你可就要小心了这里面有一个坑。先来看一下代码:
因此在使用列表的时候如果你想区分x==[]和x==None两种情况的话, 此时`if not x:`将会出现问题:
也许你是想判断x是否为None,但是却把`x==[]`的情况也判断进来了此种情况下将无法区分。
`if x is not None`是朂好的写法清晰,不会出现错误以后坚持使用这种写法。
不过这并不适用于变量是函数的情况以下转载自:
如果比较相同的对象实唎,is总是返回True 而 == 最终取决于 "eq()"