Python Best Practices: Learn to Write Clean Python Code
Python Best Practices:
Learn to Write Clean Python Code
Importance of Writing Clean Code
● What is clean code?
● Why is writing clean code important? Explain this in your own words.
● What could happen if you don’t write clean and readable code?
● What is the ”Zen of Python”?
● What is the meaning of the acronym PEP in Python?
● Describe the purpose of a Python Enhancement Proposal?
● Which PEP established the Python Style Guide?
● What is ”Pythonic” code?
● Describe the variable naming conventions in Python.
● Define naming convention in programming.
● Mention the commonly used naming conventions.
● Describe the snake case naming convention.
● Describe the camel case naming convention.
● Describe the pascal case naming convention.
● Describe the rules of Python for naming variables.
● Describe the Python best practices for naming variables.
● How should you handle naming conflicts with Python keywords?
● What is a constant in programming?
● Describe the naming conventions used to define constants in Python.
Indentation Best Practices
● Why is indentation important in Python?
● Should you use tabs or spaces to indent Python code?
● How many spaces should you use per level of indentation in Python?
● Can you mix tabs and spaces in Python?
● How can you indent/unindent code in your code editor or IDE?
Python Best Practices: Learn to Write Clean Python Code
● How can you change spaces to tabs and tabs to spaces in your code editor or IDE?
● How can you change the number of spaces per level of indentation in your code editor or
IDE?
● How should you indent multi-line conditionals?
● Should you write binary operators before or after a line break?
Lines Best Practices
● What is the recommended line length in Python?
● What is the maximum recommended line length in Python?
● Define ”Implied Line Continuation.”
● Implied line continuation can be achieved by surrounding the line with…
● Can you use backslashes to break a line? Is this the recommended way of breaking a
line?
● Where should binary operators appear relative to a line break?
● Why should you avoid writing compound statements on a single line?
● Describe the guidelines for the use of blank lines around and within functions.
● Describe the guidelines for the use of blank lines around methods.
Whitespace Best Practices
● Can variable names contain spaces?
● Describe the correct use of whitespace around assignment operators.
● Should you add whitespace to align variables or values in your code?
● Describe the correct use of whitespace within parentheses, brackets, and braces.
● Describe the correct use of whitespace around commas, colons, and semicolons.
Illustrate these with an example.
● Describe the correct use of whitespace around binary operators.
Comments Best Practices
● Why are comments important for writing clean code?
● Describe the advantages of writing comments.
● Are comments part of the code?
● Why is over-commenting a bad practice?
Python Best Practices: Learn to Write Clean Python Code
● Describe how you can write a comment in Python.
● Compare inline comments and block comments. Describe their differences
and similarities.
● What is a docstring?
● Describe the format of a one-line docstring.
● Describe the format of a multi-line docstring.
● Explain the differences between a comment and a docstring.
Strings Best Practices
● What type of quote should you use to define strings?
● How should you write strings that contain quotes?
● Describe the correct use of whitespace in string slicing with two and three parameters.
● Describe the correct use of whitespace in string slicing when a parameter is omitted.
● Describe the correct use of whitespaces in string slicing when there are other operators
with higher priority than the colon.
● What is the recommended way to concatenate strings?
● How should you check for prefixes and suffixes in a Python string?
Operators Best Practices
● Describe the rules of operator precedence in Python.
● Explain the advantages of using parentheses in an expression.
● Describe comparison chaining in Python.
● What are the advantages of using comparison operator chaining in Python?
● What operator should you use to compare values to singletons like None? Should you
use ”is not” or ”not ... is”?
● Define truthy and falsy values.
● What is a boolean context?
● Name the built-in falsy values.
● Name the built-in truthy values.
Python Best Practices: Learn to Write Clean Python Code
Sequences Best Practices
● Describe how you can write multi-line sequences using implied line continuation. Provide
an example with a list, a tuple, and a dictionary.
● Explain the correct indentation for multi-line sequences.
● Should you use sequences as truthy and falsy values in conditionals?
● When is a sequence a falsy value?
● When is a sequence a truthy value?
● Describe the advantages of list comprehension.
● Explain the basic syntax of list comprehension.
● Can you write conditionals in list comprehensions?
● When should you avoid using list comprehensions?
Functions Best Practices
● What naming style should you use for Python functions?
● Function names describe actions, so their names usually have…
● Should a function perform multiple tasks or just one main task?
● Describe the best practices for function parameters and arguments.
● Explain the best practices for indenting multiline parameters lists and arguments lists.
● Describe how to use return statements consistently in a function according to the Python
Style Guide.
● What is the correct use of whitespace around the equal sign in keyword arguments and
default values?
Loops Best Practices
● Describe the syntax used to iterate over a sequence using a for loop.
● How can you define multiple loop variables in a Python for loop?
● Explain how the values are assigned to multiple loop variables.
● Describe the purpose of the enumerate() function.
● Explain how enumerate() works with an example.
● Describe the purpose of the zip() function.
● Explain how zip() works with an example.
● Explain how the break statement works in for loops and while loops.
Python Best Practices: Learn to Write Clean Python Code
● What is the purpose of the else clause in Python loops? Illustrate this with an example.
● Describe the indentation of the else clause in loops.
Files Best Practices
● What type of statement should you use to work with file objects in Python?
● Describe the syntax of a with statement.
● What are the advantages of using a with statement instead of calling the .close()
method?
● Explain the different open modes that you can use to open a file in Python.
● How should you open multiple files using a with statement according to the Python Style
Guide?
Object-Oriented Programming Best Practices
● Describe the naming convention for Python classes.
● What naming style is used to name Python classes?
● Explain the naming convention used for built-in names in Python.
● What are the differences between public and non-public attributes in Python?
● Why is an attribute never really ”private” in Python?
● How can you define a non-public attribute in Python?
● If in doubt, you should always make attributes…
● To access and set the value of an attribute, it is recommended to use…
● The first parameter of an instance method should be…
● The first parameter of a class method should be…
● Explain the differences between an instance method and a class method.
● How should you compare object data types in Python?
● Explain how you can import a class in Python.
● What are rich comparison methods? Why are they important?
● Name the six rich comparison methods.
● Is it best practice to implement all six rich comparison methods?
● What function from the functools module can you use to implement only a few of these
rich comparison methods and complete the others automatically?
Python Best Practices: Learn to Write Clean Python Code
Tips to Write ”Pythonic” Code
● Explain the best practices for writing trailing commas in Python.
● How can you swap two or more variables using tuple assignment?
● How can you reverse a string in Python?
● What operator can you use to merge and update a dictionary?
● Explain how the map() function works with an example.
● Describe the walrus operator and how it works.