Skip to content

rubenhortas/python_examples

Repository files navigation

python examples

A collection of Python examples, including Data Structures and Algorithms (DSA).

GitHub code size in bytes GitHub repo size

GitHub

🔖 Python naming conventions

Public elements

Type Notation Example Notes
Class PascalCase (UpperCamelCase) MyClass
Constant SCREAMING_SNAKE_CASE MY_CONSTANT Uppercase single letter, word, or words. Separate words with underscores.
Enum values SCREAMING_SNAKE_CASE SOME_ENUM
Exception PascalCase (UpperCamelCase) MyException
Function/Method snake_case my_function() Lowercase word or words. Separate words by underscores.
Module snake_case my_module.py Short. Lowercase word or words. Underscores can be used if improves readability.
Package lowercase mypackage Short. Lowercase word or words. The use of underscores is discouraged.
Variable snake_case my_variable Lowercase single letter, word, or words. Separate words with underscores.

Private elements

No attribute is really private in Python (without a generally unnecessary amount of work), but there are conventions:

Convention Meaning Use
_single_leading_underscore Weak internal use indicator. The object is meant to be private, and shouldn't be directly accessed from outside the class.
__double_leading_underscore Invokes name mangling. A way to make instance variables less likely to collide with variables in subclasses.

Comments

  • Should be complete sentences. The first word should be capitalized, unless it is an identifier that begins with a lower case letter.
  • Block comments generally consist of one or more paragraphs built out of complete sentences, with each sentence ending in a period.
  • Use two spaces after a sentence-ending period in multi-sentence comments except after the final sentence.
    • Block Comments

      Block comments generally apply to some (or all) code that follows them, and are indented to the same level as that code. Each line of a block comment starts with a # and a single space (unless it is indented text inside the comment).
      Paragraphs inside a block comment are separated by a line containing a single #.

      # Use this function to check code quality. 
      # Code quality is defined by the following parameters: 
      # - The code follows naming conventions
      # - The code is easy to understand
      # - ...
      def check_code_quality(code):
        ...
    • Inline Comments

      Inline comments should be separated by at least two spaces from the statement. They should start with a # and a single space.

      if len(commits) > 0:  # Make sure that there is commits
        ...

Documentation strings

  • Write docstrings for all public modules, functions, classes, and methods. A docstring is the first statement in a package, module, class or function. Docstrings are not necessary for non-public methods, but you should have a comment that describes what the method does.
    • The """ that ends a multiline docstring should be on a line by itself.

      def draw_circle():
          """
          Returns a circle
          Draws a circle.
          """
          ...
  • For one-liner docstrings keep the closing """ on the same line:
    """Returns a circle."""

🐍 Python file format

  1. Hashbang
  2. Docstrings
  3. Imports
  4. Code

📚 Sources

⭐ Support

If you find these examples useful, please, consider starring this repository!

About

Examples of Python code and DSA (data structures and algorithms).

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages