Tutorial

Code introspection is the ability to examine classes, functions and keywords to know what they are, what they do and what they know.

Python provides several functions and utilities for code introspection.

help()
dir()
hasattr()
id()
type()
repr()
callable()
issubclass()
isinstance()
__doc__
__name__

Often the most important one is the help function, since you can use it to find what other functions do.

Exercise

Print a list of all attributes of the given Vehicle object.

# Use the help function to see what each function does. # Delete this when you are done. help(dir) help(hasattr) help(id) # Define the Vehicle class. class Vehicle: name = "" kind = "car" color = "" value = 100.00 def description(self): desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value) return desc_str # Print a list of all attributes of the Vehicle class. # Your code goes here # Define the Vehicle class class Vehicle: name = "" kind = "car" color = "" value = 100.00 def description(self): desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value) return desc_str # Print a list of all attributes of the Vehicle class. print(dir(Vehicle)) test_output_contains("['__doc__', '__module__', 'color', 'description', 'kind', 'name', 'value']") test_student_typed("print") success_msg("Very nice!")