Python基础-成员运算符和身份运算符

一、成员运算符 in 和 not in

  1. in 如果在指定的序列中找到值返回 True,否则返回 False
  2. not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
    示例代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = 8
list = [1, 2, 3]

if a in list:
    print("a in list true")
else:
    print("a in list false")

if a not in list:
    print("a not in list true")
else:
    print("a not in list false")

运行结果

a in list false
a not in list true

二、身份运算符

  1. is 是判断两个标识符是不是引用同一个对象
  2. is not 是判断两个标识符是不是引用自不同对象
    示例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 20
b = 20

if (a is b):
    print("1 - %d%d 有相同的标识" % (a, b))
else:
    print("1 - %d%d 没有相同的标识" % (a, b))

# 获取对象内存地址
if (id(a) == id(b)):
    print("2 - %d%d 有相同的标识" % (a, b))
else:
    print("2 - %d%d 没有相同的标识" % (a, b))

# 修改变量 b 的值
b = 30
if (a is b):
    print("3 - %d%d 有相同的标识" % (a, b))
else:
    print("3 - %d%d 没有相同的标识" % (a, b))

if (a is not b):
    print("4 - %d%d 没有相同的标识" % (a, b))
else:
    print("4 - %d%d 有相同的标识" % (a, b))

运行结果,相同对象则表示相同is

1 - 20 和  20 有相同的标识
2 - 20 和  20 有相同的标识
3 - 20 和  30 没有相同的标识
4 - 20 和  30 没有相同的标识

三、is 与 == 区别

  1. is 用于判断两个变量引用对象是否为同一个
  2. == 用于判断引用变量的值是否相等
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 20
b = 20
c = "20"

if (a is b):
    print("1 - %d%d 有相同的标识" % (a, b))
else:
    print("1 - %d%d 没有相同的标识" % (a, b))

# 获取对象内存地址
if (id(a) == id(b)):
    print("2 - %d%d 有相同的标识" % (a, b))
else:
    print("2 - %d%d 没有相同的标识" % (a, b))

if (a == b):
    print("3 - a == b True")
else:
    print("3 - a == b False")

if (a is c):
    print("1 - %d%s 有相同的标识" % (a, c))
else:
    print("1 - %d%s 没有相同的标识" % (a, c))

# 获取对象内存地址
if (id(a) == id(c)):
    print("2 - %d%s 有相同的标识" % (a, c))
else:
    print("2 - %d%s 没有相同的标识" % (a, c))

if (a == int(c)):
    print("3 - a == c True")
else:
    print("3 - a == c False")

运行结果

1 - 2020 有相同的标识
2 - 2020 有相同的标识
3 - a == b True
1 - 2020 没有相同的标识
2 - 2020 没有相同的标识
3 - a == c True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值