I have an excel file with multiple tags in the format of key-value pairs. I want to perform some tasks using the value of each tag only when a key has a value. When is it best to introduce a variable for storing the value? In advance or right after the check of the value that actually exists, and won’t exit the function immediately, thus there is a meaning to reserve space for that? Note, that this function will run hundreds of times scanning multiple tags in that file.
def getValue(file): if (file.myValue == ""): return "Empty string" myVal = file.myValue # now do stuff using the variable `myVal` that I have just declared/initialised # ...
OR
def getValue(file): myVal = file.myValue if (myVal == ""): return "Empty string" # do stuff using the variable `myVal` I have already declared/initialized in advance # ...
Advertisement
Answer
In Python >= 3.8, you can use a named assignment to avoid that pattern:
def getValue(file): if (myVal := file.myValue) == "": return "Empty string" # do stuff with myVal
Otherwise I’d do the assignment first:
def getValue(file): myVal = file.myValue if myVal == "": return "Empty string"
It may not make a difference in terms of performance (minute, if anything), but it reduces code length with no cost to readability.