Challenge 1
Return the module version when the requested name is version.
def resolve(name):
if name == "version":
return
raise AttributeError(name)
print(resolve("version"))
Press Ctrl⌘Enter to check your answer
Practice defining module fallback values, raising AttributeError, exposing dynamic names through dir(), and caching a lazily resolved value.
Challenge 1
def resolve(name):
if name == "version":
return
raise AttributeError(name)
print(resolve("version"))
Press Ctrl⌘Enter to check your answer
Challenge 2
def resolve(name):
if name == "ready":
return True
try:
resolve("missing")
except AttributeError:
print("not available")
Press Ctrl⌘Enter to check your answer
Challenge 3
def __dir__():
return
print(__dir__())
Press Ctrl⌘Enter to check your answer
Challenge 4
def resolve(name):
if name == "answer":
value = 42
return value
raise AttributeError(name)
print(resolve("answer"))
Press Ctrl⌘Enter to check your answer