Python之身份运算和None
一、身份运算
Python中有很多种数据类型,查看一个数据的类型的方法是type()
name = 'Kwan'
age = 1
print(type(name), type(age))
判断一个数据类型是不是str,or int等,可以用身份运算符is
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 |
x is y ,类似id(x) == id(y) ,如果引用的是同一个对象则返回True,否则返回False |
is not | is not 是判断两个标识符是不是引用自不同对象 |
x is not y ,类型id(x) != id(y) 。如果引用的不是同一个对象则返回结果True,否则返回False |
name = 'Kwan'
print(type(name) is str)
print(type(name) is not int)
二、空值None
None
代表什么都没有的意思,一般用在哪呢?比如玩游戏,你要初始化一个女朋友,需要填上姓名、年龄、身高、体重等信息,这些信息是让玩家填的,在填之前,你要先把变量定义好,那就得存个值,这个值用0,1来占位不合适,用True,False也合适,用None最合适。
name = None
age = None
height = None
weight = None
print(name, age, height, weight)
此时可用is
运算符来判断变量是不是None
name = None
if name is None:
print('你的女朋友还没起名字呢。')
其实用==
判断也行,但是不服个开发规范
print(name == None)
三、三元运算
三元运算是一种能在小白面前显得很NB的方法,如下
name = 'Kwan'
sex = None
# 普通写法
if name == 'Kwan':
sex = 'female'
else:
sex = 'male'
# 三元运算写法
sex = 'female' if name == 'Kwan' else 'male'