Python中的is和==理解

本文深入探讨了Python中is和==运算符的区别,详细解释了它们如何分别用于比较对象的身份标识(id)和值(value),并通过多个实例展示了不同数据类型下两者的使用效果。
Python中的is和==理解
  • Python中的三要素
    1. id(身份标识)
    2. type(数据类型)
    3. value(值)
  • is 和 == 具体区别
    1. ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等

      a1 = 'hello'
      a2 = 'hello'
      print a1 == a2
      
    2. is同一性运算符,对象间的唯一身份标识,也就是id是否相同

      • a和b是 : 数字和字符串,a is b为True
      • a和b 是 : tuple,list,dict或set型,a is b为False。
      a1 = 1  # a和b为数值类型
      b1 = 1
      print (a1 is b1)  # True
      print id(a1)  # 6322312
      print id(b1)  # 6322312
      
      a1 = 'he'   # a和b为字符串
      b1 = 'he'
      print (a1 is b1)  # True
      print id(a1)  # 39398256
      print id(b1)  # 39398256
      
      a1 = (1, 2, 3)  # a和b为元组类型
      b1 = (1, 2, 3)
      print (a1 is b1)  # False
      print id(a1)  # 30421640
      print id(b1)  # 38361848
      
      a1 = [1, 2, 3]  # a1和b1为list类型
      b1 = [1, 2, 3]
      print (a1 is b1)  # False
      print id(a1)  # 40606472
      print id(b1)  # 40606664
      
      a1 = {'name': 'hi', 'age': 11}  # a1和b1为dict类型
      b1 = {'name': 'hi', 'age': 11}
      print (a1 is b1)  # False
      print id(a1)  # 32277368
      print id(b1)  # 40944232
      
      
      a1 = set([1, 2, 3])  # a和b为set类型
      b1 = set([1, 2, 3])
      print (a1 is b1)  # False
      print id(a1)  # 40142888
      print id(b1)  # 40301960
      

参考博主链接

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值