What's the proper style for a library string function?
C.D. Reimer
chris at cdreimer.com
Sat Jul 19 13:38:47 EDT 2014
Greetings,
I typically write a Python 2.7 string function in my library like this:
def getCompletedTime(start, end): return "Time completed:", str(end
- start)
And called it like this:
print getCompletedTime(start, end)
Since every Python script I write is executed from the command line, I
rewrote the string function like this:
def getCompletedTime(start, end): print "Time completed:", str(end
- start)
And call it like this:
getCompletedTime(start, end)
The first version is what I'm familiar with having reluctantly learned
Java at community college, which couldn't afford a Microsoft site
license for Visual C++ and taught every class in Java. (The Linux
instructor rebelled against this policy by teaching basic C/C++ and
shell scripting in his classes.) I recently read an article that Python
is replacing Java as a teaching language.
The second version is more straight forward but seems less readable
(i.e., "print getCompletedTime(start, end)" vs. "getCompletedTime(start,
end)") from the calling script.
Alternatively, I thought about rewriting the string function to accept
an extra parameter to do either and default to the print statement.
def getCompletedTime(start, end, type = 'p'):
string = "Time completed: " + str(end - start)
if type == 'p':
print string
else:
return string
I'm curious as to what the proper Python style would be for this.
Thank you,
Chris Reimer
More information about the Python-list
mailing list