1. PEP 8 -- Style Guide for Python Code. (2001, updated 2013). G. van Rossum, B. Warsaw, N. Coghlan. Python Software Foundation.
For Answer A (Function and Variable Names): In the "Naming Conventions" section, under "Function and Variable Names," it states: "Function names should be lowercase, with words separated by underscores as necessary to improve readability. Variable names follow the same convention as function names."
For Answer B (Method Arguments): In the "Naming Conventions" section, under "Method Names and Instance Variables," it states: "Always use self for the first argument to instance methods. Always use cls for the first argument to class methods."
For Answer C (Module Names): In the "Naming Conventions" section, under "Package and Module Names," it states: "Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability."
For Answer D (Constants): In the "Naming Conventions" section, under "Constants," it states: "Constants are usually defined on a module level and written in all capital letters with underscores separating words."
2. University of California, Berkeley, CS 61A Course Materials. (Fall 2023). "Style and Composition." The course style guide, which is based on PEP 8, reinforces these conventions for students. It explicitly mentions using snakecase for functions and variables and UPPERSNAKECASE for constants. (Referenced in the course's general style guide documents).