Python之身份运算和None

python基础

浏览数:52

2019-9-17

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'

作者:Kwan、C