pandas code style guide¶
Table of contents:
Patterns¶
foo.__class__¶
pandas uses ‘type(foo)’ instead ‘foo.__class__’ as it is making the code more readable.
For example:
Good:
foo = "bar"
type(foo)
Bad:
foo = "bar"
foo.__class__
String formatting¶
Concatenated strings¶
f-strings¶
pandas uses f-strings formatting instead of ‘%’ and ‘.format()’ string formatters.
The convention of using f-strings on a string that is concatenated over serveral lines, is to prefix only the lines containing the value needs to be interpeted.
For example:
Good:
foo = "old_function"
bar = "new_function"
my_warning_message = (
f"Warning, {foo} is deprecated, "
"please use the new and way better "
f"{bar}"
)
Bad:
foo = "old_function"
bar = "new_function"
my_warning_message = (
f"Warning, {foo} is deprecated, "
f"please use the new and way better "
f"{bar}"
)
White spaces¶
Putting the white space only at the end of the previous line, so there is no whitespace at the beggining of the concatenated string.
For example:
Good:
example_string = (
"Some long concatenated string, "
"with good placement of the "
"whitespaces"
)
Bad:
example_string = (
"Some long concatenated string,"
" with bad placement of the"
" whitespaces"
)
Representation function (aka ‘repr()’)¶
pandas uses ‘repr()’ instead of ‘%r’ and ‘!r’.
The use of ‘repr()’ will only happend when the value is not an obvious string.
For example:
Good:
value = str
f"Unknown recived value, got: {repr(value)}"
Good:
value = str
f"Unknown recived type, got: '{type(value).__name__}'"