Salve,
Por favor, alguém sabe me explicar o que está acontecendo nos trechos de código abaixo?
O que faz esse tal de is
? É a mesma coisa que ==
? Se não é, qual a diferença?
Python 3.6.1 (default, Mar 22 2017, 06:17:05) [GCC 6.3.0 20170321] on linux Type "help", "copyright", "credits" or "license" for more information. >>> i = 1 >>> j = 1 >>> x = 1.0 >>> i == j True >>> i == x True >>> i is j True >>> i is x False >>> i is int False >>> x is float False >>> Python 3.6.1 (default, Mar 22 2017, 06:17:05) [GCC 6.3.0 20170321] on linux Type "help", "copyright", "credits" or "license" for more information. >>> s1 = "abc" >>> s2 = "abc" >>> s3 = s1 >>> s1 == s2 True >>> s1 == s3 True >>> s2 == s1 True >>> s1 is s2 True >>> s1 is s3 True >>> s2 is s3 True >>> Python 3.6.1 (default, Mar 22 2017, 06:17:05) [GCC 6.3.0 20170321] on linux Type "help", "copyright", "credits" or "license" for more information. >>> lista1 = [11, -22, 3.14, "oi"] >>> lista2 = [11, -22, 3.14, "oi"] >>> lista3 = lista1 >>> lista1 == lista2 True >>> lista1 == lista3 True >>> lista2 == lista3 True >>> lista1 is lista2 False >>> lista1 is lista3 True >>> lista2 is lista3 False >>>