varA = 1
varB = 2
Code w/ Correct Result:
if type(varA) == type('a') or type(varB) == type('a'):
print "string involved (either varA or varB is a string)"
else:
print "varA and varB are not strings"
Code w/ Incorrect Result:
if type(varA) or type(varB) == type('a'):
print "string involved (either varA or varB is a string)"
else:
print "varA and varB are not strings"
Why exactly does the 2nd set of code not return the expected result (i.e. "varA and varB are not strings")? What is the step-by-step breakdown of what Python is doing with the 2nd set of code? I found a similar question had already been answered but did not entirely understand the explanation. Python: If-else statements.
isinstance(varA, str), to allow for subclasses.