欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

is 和 ==的区别

程序员文章站 2022-03-18 16:27:21
1.is 是比较 ,比较 = 两边的值 == 是比较 ,比较的是两边的内存地址 内存地址:id(变量) 2.小数据池 1.数字小数池的范围:-5~256 a = 10 a1 = 10 print(a == a1) 结果为True 2.字符串中如果有特殊字符,他们的内存地址就不一样 328831602 ......

1.is 是比较 ,比较 = 两边的值

   == 是比较 ,比较的是两边的内存地址

    内存地址:id(变量)

2.小数据池

    1.数字小数池的范围:-5~256

      a = 10

      a1 = 10

      print(a == a1)

      结果为True

    2.字符串中如果有特殊字符,他们的内存地址就不一样

      a = "abc%"
      a1 = "abc%"
      print(a == a1)
      在pycharm中结果为True,在命令提示符中结果为False
    3.字符串中单个*20,则他们的内存地址一样,*20以上内存地址不一样
      a = "a" * 20
      a1 = "a" * 20
      print(id(a))
      print(id(a1))
      内存地址都为556894458048

      a = "a" * 20
      a1 = "a" * 21
      print(id(a))
      print(id("a"))
      结果为

        328831602808
        328831602880