හැකි තවත් විකල්පයක්, නමුත් එය ඔබ කලින් අදහස් කළ දේ මත රඳා පවතී :
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")