Empty strings are "falsy" (python 2 or python 3 reference), which means they are considered false in a Boolean context, so you can just do this:
if not myString:
This is the preferred way if you know that your variable is a string. If your variable could also be some other type then you should use:
if myString == "":
See the documentation on Truth Value Testing for other values that are false in Boolean contexts.
Answer from Andrew Clark on Stack OverflowEmpty strings are "falsy" (python 2 or python 3 reference), which means they are considered false in a Boolean context, so you can just do this:
if not myString:
This is the preferred way if you know that your variable is a string. If your variable could also be some other type then you should use:
if myString == "":
See the documentation on Truth Value Testing for other values that are false in Boolean contexts.
From PEP 8, in the “Programming Recommendations” section:
For sequences, (strings, lists, tuples), use the fact that empty sequences are false.
So you should use:
if not some_string:
or:
if some_string:
Just to clarify, sequences are evaluated to False or True in a Boolean context if they are empty or not. They are not equal to False or True.
Videos
I'm trying to constantly check against any of those values but I don't want to keep repeating myself in code.
if variable is None or variable == "": do stuff
What are my options? Can I create somehow a class and check against that class?
if variable is MyNewClass: do stuff
How would I write such a class?
Thanks!
This code is meant to count all the words that have the expression "di" but with the text "imagina." the final answer is 1.
texto = 'imagina.'
cl = 0
flag_di = False
answer = 0
previous = ''
for car in texto:
if car != ' ' and car != '.':
cl += 1
if car in 'iI' and previous in 'dD':
flag_di = True
previous = car
else:
if car == ' ' or car == '.':
if flag_di:
answer += 1
cl = 0
flag_di = False
previous = ''
print(answer)