Python Language Common Gotcha: Python does not enforce typing


In many other languages, if you run the following (Java example)

if("asgdsrf" == 0) {
    //do stuff

... you'll get an error. You can't just go comparing strings to integers like that. In Python, this is a perfectly legal statement - it'll just resolve to False.

A common gotcha is the following

myVariable = "1"
if 1 == myVariable:
    #do stuff

This comparison will evaluate to False without an error, every time, potentially hiding a bug or breaking a conditional.