Overview
This comprehensive hands-on course combines engaging lectures, demos, activities and discussions to ensure participants learn and understand the all the concepts discussed in the course. As part of the course, participants would work in an engaging, hands-on learning environment, guided by an expert Python practitioner. The course covers details about the Python environment, flow control, sequences, lists, Tuples, dictionaries and sets, OS services, modules and packages, XML and JSON and other Python concepts.
What You'll Learn
- Create and run basic programs
- Design and code modules and classes
- Implement and run unit tests
- Use benchmarks and profiling to speed up programs
- Process XML and JSON
- Manipulate arrays with NumPy
- Sub-packages constituting SciPy
- Use iPython notebooks for ad hoc calculations, plots and what-if
- Manipulate images with PIL
- Solve equations with SymPy
Curriculum
- About Python
- Starting Python
- Using the interpreter
- Running a Python script
- Python scripts on Unix/Windows
- Using the Spyder editor
- Using variables
- Builtin functions
- Strings
- Numbers
- Converting among types
- Writing to the screen
- String formatting
- Command line parameters
- About flow control
- White space
- Conditional expressions (if,else)
- Relational and Boolean operators
- While loops
- Alternate loop exits
- About sequences
- Lists and tuples
- Indexing and slicing
- Iterating through a sequence
- Sequence functions, keywords, and operators
- List comprehensions
- Generator expressions
- Nested sequences
- File overview
- Opening a text file
- Reading a text file
- Writing to a text file
- Raw (binary) data
- Creating dictionaries
- Iterating through a dictionary
- Creating sets
- Working with sets
- Defining functions
- Parameters
- Variable scope
- Returning values
- Lambda functions
- Syntax errors
- Exceptions
- Using try/catch/else/finally
- Handling multiple exceptions
- Ignoring exceptions
- The os module
- Environment variables
- Launching external commands
- Walking directory trees
- Paths, directories, and filenames
- Working with file systems
- Dates and times
- Small Pythonisms
- Lambda functions
- Packing and unpacking sequences
- List Comprehensions
- Generator Expressions
- Initialization code
- Namespaces
- Executing modules as scripts
- Documentation
- Packages and name resolution
- Naming conventions
- Using imports
- Defining classes
- Constructors
- Instance methods and data
- Attributes
- Inheritance
- Multiple inheritance
- Analyzing programs with pylint
- Creating and running unit tests
- Debugging applications
- Benchmarking code
- Profiling applications
- Using ElementTree
- Creating a new XML document
- Parsing XML
- Finding by tags and XPath
- Parsing JSON into Python
- Parsing Python into JSON
- iiPython basics
- Terminal and GUI shells
- Creating and using notebooks
- Saving and loading notebooks
- Ad hoc data visualization
- numpy basics
- Creating arrays
- Indexing and slicing
- Large number sets
- Transforming data
- Advanced tricks
- What can SciPy do?
- Most useful functions
- Curve fitting
- Modeling data visualization
- Statistics
- Clustering
- Physical and mathematical Constants
- FFTs
- Integral and differential solvers
- Interpolation and smoothing
- Input and Output
- Linear Algebra
- Image Processing
- Distance Regression
- Root-finding
- Signal Processing
- Sparse Matrices
- Spatial data and algorithms
- Statistical distributions and functions
- C/C++ Integration
- pandas overview
- Dataframes
- Reading and writing data
- Data alignment and reshaping
- Fancy indexing and slicing
- Merging and joining data sets
- Creating a basic plot
- Commonly used plots
- Ad hoc data visualization
- Advanced usage
- Exporting images
- PIL overview
- Core image library
- Image processing
- Displaying images
Who should attend
- Data analysts
- Developers
- Engineers
- Anyone tasked with utilizing Python for data analytics tasks