merhaba programlamaya yeni başladım yazbel istihza dökümanın da
a=256
a is 256 şeklinde calıştırdıgım zaman : SyntaxWarning: “is” with a literal. Did you mean “==”? hatasını alıyorum true yada false dönmüyor yardımcı olur musunuz?
is anahtar kelimesi ile değişken değeri karşılaştırılmaz, nesnenin aynı kimliğe sahip(yani aynı adresteki nesne) olup olmadığı sorgulanır.
Siz değeri sorguladığınız için python size zaten, Did you mean Garfield demiş.
Yani == mantık operatörünü kullanırsanız daha iyi olur, çünkü doğrusu bu hemşehrim, demiş.
is ve == işleçlerinin nasıl da farklı sonuçlar verdiğini görüyorsunuz. Çünkü bunlardan biri nesnelerin kimliğini sorgularken, öbürü nesnelerin içeriğini sorguluyor.
Dökümantasyon da anlatılmak istenen bu zaten bu yazı da direk dökümantasyona ait. is id sorgularken == ise değerini sorgular. Aslında aldığınız da bir hata değildir uyarıdır Python sonucu size gene veriyor olması gerek, eğer True veya false değer döndğrmesini görmek istiyorsanız print(a is 256) yazmanız gerekiyor a is 256 yazmanızın bir faydası olmaz aynısı == içinde geçerlidir değeri print etmeniz gerekiyor.
== farkına gelirsek Python gene sonuç verir ama yaptığının doğru olmadığını söyler