- Write Code!
- Check with print!
- Contract with assert!
assert's.  And that's what this page is about.All hail
print ↠ assert!An Inane Code Example
import random
x = random.randint(0, 9)
y = 2 * x
#print("x: %i, y: %i" % (x, y))
assert(y/2==x), "This is the definition."
assert(y%2==0), "y should be even."
assert(type(y)==int), "Very Bad News!"
- Number Doubling Code
- Visual check that all is well with print.
- Make a lasting contract with assert.
- Comment out print.
- Move On!
It's not production grade. But then, I am not writing production grade code. I am writing scripts.
And that's about what I had to say. For years, I had been using
print as my primary debugging tool.  And now, I've added assert as a built-in self-check, making it that much harder for me to break my own code.Also, I think it's more elegant.