python中if语句的条件怎么写

if语句中的条件有多种形式,条件表达式是很有意思的一部分。

条件表达式中最基础的是比较运算符,用于进行比较,返回布尔值。

表达式

作用

x == y

x等于y

x < y

x小于y

x > y

x大于y

x >= y

x大于等于y

x <= y

x小于等于y

x != y

x不等于y

x is y

x和y是同一个对象

x is not y

x和y不是同一个对象

x in y

x是y中的成员

x not in y

x不是y中的成员

下面详细介绍其中的一些需要注意的运算符

(一)相等运算符==

相等运算符用于确认两个对象是否相等,用==表示

'python' == 'python'

True

'python' == 'java'

False

注意,这里使用的是两个等号。不能使用一个等号。一个等号属于赋值语句,用于赋值。

'python' = 'python'

SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?

1 = 1

SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?

(二)相同运算符is

is运算符检查两个对象是否相同,

a = 10

b = 20

a is b

False

变量a赋值为10,变量b赋值为20,使用is判断是否为同一对象,返回False。

(三)is与==的区别

先看如下的示例

a = b = [1,2,3]

c = [1,2,3]

a == b

True

a == c

True

a、b、c三个变量的值为列表[1、2、3],a、b采用链式赋值。使用相等运算符判断变量是否相等,可以看到a、b相等,a、c不等。

此时再用相同运算符is判断三者,结果如下:

a = b = [1,2,3]

c = [1,2,3]

a is b

True

a is c

False

a is b的结果是True,但a is c的结果是False

为什么会是这样的情况,我们使用id()函数打印内存地址

id(a)

1806857559104

id(b)

1806857559104

id(c)

1806857476992

a、b采用链式赋值,指向的是同一个列表对象,内存地址相同,变量b指向的是另一个列表对象,所以是不同的内存地址。

在上述例子中,a、b、c三个变量的值都相同(三者的值都为[1,2,3]),所以使用==进行判断,返回结果为True。

a、b两个变量采用链式赋值,指向同一个对象,使用is进行判断,a is b结果为True,但a is c结果为False。

从这里我们可以看到is和==的区别。==用来判断变量的值是否相同,is用来判断变量指向的对象是否相同。

(四)in成员资格运算符

in用于检查特定值是否在序列中。

def test():

    name = input('请输入你的名字: ')

    if '中' in name:

        print('你的名字包含中')

    else:

        print('你的名字没有中')

       

test()

请输入你的名字: 张三

你的名字没有中

test()

请输入你的名字: 张中

你的名字包含中

这个例子中,使用了in运算符,判断输入的字符中有没有包含“中”字。

你可能感兴趣的:(python记录,python,开发语言)