Paul Moore wrote: > Interestingly enough, the other languages I use most (C, Java, > VB(Script) and Javascript (under Windows Scripting Host)) all use > functions for output. Except for C, I uniformly dislike the resulting > code - the output structure gets hopelessly lost under the weight of > string concatenation and explicitly added spaces. Are your complaints about Guido's proposal or mine? The complaint above doesn't quite seem relevant to my proposal, which retains the space-insertion. Basically, my proposal suggests that files (and other streams) gain a print method like: class file(object): ... def print(self, *args): self.write(' '.join(str(arg) for arg in args)) self.write('\n') and the print statement becomes the builtin print() function, defined like: def print(*args): sys.stdout.print(*args) Looking at your use cases, this seems to cover them pretty well: > - Debugging, most definitely. Adding a quick print "a =", a is often > all that's needed. Use the builtin print(): print('a =', a) > - Logging, sometimes. When I just want some basic output, and don't > want to deal with the complexity of the logging package. Use the builtin print(): print('some logging message', foo) > - Unix-style command-line utilities, where textual output to stdout is the norm. Use the builtin print(): print('line of output') > - Error and help messages, often with print >>sys.stderr Use the print() method of sys.stderr: sys.stderr.print('error or help message') STeVe -- You can wordify anything if you just verb it. --- Bucky Katt, Get Fuzzy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4