The purpose of this document is twofold: 1) To ensure that anyone who might like to make my code better understands why I write python the way I do 2) to ensure I adhere to my own style because I’m terribly inconsistent
Being terribly inconsistent, the guidelines are not set in stone and if you have a good argument for doing things a particular, I don’t really care.
BUT first and foremost, code must comply with PEP8 first. This is easy to automate. I like coala since it’s friendly but there’ plenty of advanced linters out there.
That aside, I have the following idiosyncracies:
This is really just because I like how C does it. And Cpython’s C-based so why not?
Like so: code string = "This is a phrase" word = "word" cur_char = 'a' newline = '\n' # note, two characters, but it's still ONE char in output # keys are single-quoted to avoid confusion dictionary = { 'key' : "1245dqw3w431", 'return': newline }
The only exception is for strings with quotes in them (anything to avoid escapes, really) code quoted_string = ( '"You miss 100% of the shots you don't take - Wayne Gretsky" - Michael Scott' )
That brings me to my next point.
As in:
longboi = (
"This is a really long string usefull when making help menus. Be\n"
"sure to leave s space at the end of each line, or add a new line\n"
"when needed.\n"
"Try your best to keep formatting accurate like this."
)
Again, see PEP8.
It’s a pain to read: code 1/(2*sqrt(pi))*exp(x**2)
Do this code 1 / (2 * sqrt(pi)) * exp(x ** 2)
The same goes for logic operators code true & false ^ true
This is python. Unless there’s a compatibility thing (like a library’s code was written that way, or it matches an API variable), snake_case is preferred.
user_input = int(input()) # variable
MAX_INPUT = 1000 # constant
def judge_input(_input, _max): # function
if _max > _input:
print("Too big!")
judge_input(user_input, MAX_INPUT
class Input_Judger: # a class
# etc etc
Example exception code # this doesn't actually work, but you get the idea r = requests.get("www.debian.org") pageSize = r.json()['pageSize'] # camel case ok