හැකි තවත් විකල්පයක්, නමුත් එය ඔබ කලින් අදහස් කළ දේ මත රඳා පවතී :
undefined = object()
class Widget:
def __init__(self):
self.bar = 1
def zoom(self):
print("zoom!")
a = Widget()
bar = getattr(a, "bar", undefined)
if bar is not undefined:
print("bar:%s" % (bar))
foo = getattr(a, "foo", undefined)
if foo is not undefined:
print("foo:%s" % (foo))
zoom = getattr(a, "zoom", undefined)
if zoom is not undefined:
zoom()
ප්රතිදානය:
bar:1
zoom!
කිසිවක් අගය නොකරන ගුණාංග පරීක්ෂා කිරීමට පවා මෙය ඔබට ඉඩ සලසයි.
ඒත්! ඔබ අහම්බෙන් ක්ෂණිකව ක්ෂණිකව හා undefined
ස්ථාන කිහිපයක් සංසන්දනය නොකිරීමට වගබලා ගන්න is
.
යාවත්කාලීන කිරීම:
ඉහත ඡේදයේ මා අනතුරු ඇඟවූ දේ නිසා, කිසි විටෙකත් නොගැලපෙන නිර්වචන කිහිපයක් ඇති නිසා, මම මෑතකදී මෙම රටාව තරමක් වෙනස් කර ඇත:
undefined = NotImplemented
NotImplemented
, පටලවා නොගත යුතුය NotImplementedError
, එය ගොඩනංවන ලද්දකි: එය JS හි අභිප්රාය අර්ධ වශයෙන් ගැලපෙන අතර undefined
ඔබට එහි අර්ථ දැක්වීම සෑම තැනකම නැවත භාවිතා කළ හැකි අතර එය සැමවිටම ගැලපේ. මෙහි ඇති අඩුපාඩු වන්නේ එය බූලියන් වල "සත්ය" වන අතර එය ල logs ු-සටහන් හා සිරස් හෝඩුවාවන්හි අමුතු පෙනුමක් ලබා දිය හැකිය (නමුත් මෙම සන්දර්භය තුළ පමණක් එය දිස්වන බව ඔබ දැනගත් විට ඔබ එය ඉක්මණින් ජය ගනී).
import string hasattr(string, "lower")