Nasıl bir NoneType olan bir değişkeni sorgulayabilirim?
Kullanım is
operatör bu işleri neden bu
if variable is None:
gibi? None
Python NoneType
tek tek nesnedir yana
, bir değişken içinde None
ya da değil olup olmadığını kontrol etmek için is
operatörünü kullanabilirsiniz. is
docs gelen teklif
,
operatör is
ve nesne kimliğinin is not
testi: ve ancak x
ve y
aynı nesne ise x is y
geçerlidir. x is not y
, ters doğru değerini verir. None
yalnızca bir örneği olabilir yana
, is
None
kontrol etmek için tercih edilen bir yolu olurdu.
None
hep is
veya is not
ile yapılmalıdır gibi tekiz, (ortaklaşa Guido kendisi tarafından tanımlanır) Python's Coding Style Guidelines - PEP-008 aktaran at ağzına
den
Karşılaştırmalar duyun hiçbir zaman eşitlik operatörleri.
>>> NoneType = type(None)
>>> x = None
>>> type(x) == NoneType
True
>>> isinstance(x, NoneType)
True
isinstance
da sezgisel ancak çizginin gerektirir komplikasyon vardır: -
Bu sorunun cevabını [burada] (http://stackoverflow.com/questions/14247373/python-none-comparison-s-hould-i-use-is-or) ve görünüşe göre – yorodm
'dan önce bir yerde "Yok" ise metodunuzun hangi 'bool (returnValue)' 'False '' ye karşılık geldiğini döndürdüğü tek değer, daha sonra 'eğer yeni değilse:' 'iyi çalışmalıdır. Bu bazen yerleşik lib'lerde olur - örneğin, ['re.match'] (https://docs.python.org/2/library/re.html#re.match) ya Hiçbiri ya da gerçek bir eşleşme döndürür nesne. – Kevin