Description

A course for Software Developers not familiar with Python.

Course Syllabus

Tooling

  1. Installation
  2. IDE (Visual Studio Code or Pycharm)
  3. Running Scripts
  4. Working in a Terminal
  5. Library Installation with pip
  6. Working with an Interactive Console
  7. IPython
  8. Using virtualenv (optional)
  9. Jupyter Notebook (optional)

Builtin Data Types

  1. Hierarchy of Types
  2. float vs int
  3. float Limitations
  4. str
  5. Collections
  6. list, list comprehension
  7. tuple, tuple packing and unpacking
  8. dict, dictionary comprehension
  9. Advanced Comprehension Expressions (optional)
  10. Mutable vs Immutable
  11. Everything is an Object passed through a Reference

Control Flow

  1. Conditional Instructions
  2. Logical Expressions
  3. for Loops
  4. while Loops
  5. break, continue and else
  6. Intro to Error Handling
  7. Advanced Error Handling
  8. Raising Exceptions
  9. Ask for Permission vs Ask for Forgiveness
  10. Exceptions Hierarchy
  11. Assertions
  12. Using Context Managers

Functions and Functional Programming

  1. Positional Arguments
  2. Keyword Arguments
  3. *args
  4. **kwargs
  5. Default Values
  6. Anonymous Function (lambda)
  7. Higher-Order Functions
  8. filter and map Functions, List Comprehension

Intro to Object Oriented Programming

  1. Basic Ideas
  2. Class and Instance Attributes
  3. @property
  4. isinstance()
  5. type()
  6. Single Inheritance
  7. Exception Inheritance
  8. Practical Use Cases

Regular Expressions

  1. API: re.match, re.search, re.findall
  2. API: RE compilation
  3. API: flags
  4. API: named and unnamed groups
  5. Cheat Sheet
  6. Syntax
  7. Quantifiers
  8. Character Classes

Modules and Packages

  1. Modules
  2. Packages
  3. Imports, Different Import Styles
  4. sys.path
  5. Import vs Execution

Best Practices

  1. PEP8
  2. DocString Convention PEP257
  3. setup.py
  4. requirements.txt
  5. Other Best Practices
Close Menu