Boole değerlerini ==
ile karşılaştırmak Python'da çalışır.Python'da 'True == Not False' sözdizimi hatası neden?
Python 2.7 (r27:82500, Sep 16 2010, 18:02:00)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> True == True
True
>>> False == False
True
>>> True is not False
True
>>> True == not False
File "<stdin>", line 1
True == not False
^
SyntaxError: invalid syntax
>>>
Bu neden bir yazım hatasıdır: Ben boolean not
operatörü uygulayacaktır Ama, sonuç bir yazım hatasıdır? Ben not False
bir boolean değer döndüren bir ifade olmasını beklediğiniz ve True == <x>
<x>
geçerli sözdizimi ile bir ifadesidir yerde geçerli sözdizimi olmak.
==
not
daha yüksek bir önceliğe sahip olduğundan, tercüman değil True karşılaştırarak sanıyor)
operator precedence in Python ile ilgisi var
Not * değildir * "(Yanlış değil) True" ile aynıdır. "değil" ifadesi, "Doğru olan (Yanlış değil)" ifadesi "Yanlış olanın yanlış okunmasıyla aynıdır" ifadesini okur. Sadece bir açıklama, çünkü örneğiniz sanki sanki her ikisinin de aynı olduğunu varsayıyormuşsunuz gibi görünüyor. – lunaryorn
'True == not', gerçek sözdizimi hatasıdır, bundan sonra hiçbir şey alakasızdır. – dansalmo
Ve kayıt için, ** karşılaştırması ** ne ** ** herhangi bir ** karşılaştırma operatörü artı ** için başarısız olur. "Doğru "Yanlış" değil, "3.3> = 4.5 değil", {} [] değil, [set]() == None 've' slice()! = lambda değil: x' ** all ** aynı sözdizimi hatasını yükseltmez. Bu, '== not' ve booleans ile sınırlı değildir. –