Whether you're new to programming or just want to learn a new language, this in-depth course will teach you the ins and outs of Python programming.Requirements:
Hardware Requirements:
- This course can be taken on a PC or a Mac.
- Dual monitors are helpful but not required.
Software Requirements:
- PC: Windows 10 or later.
- Mac: macOS 11.0 or later.
- Browser: The latest version of Google Chrome or Mozilla Firefox are preferred. Microsoft Edge and Safari are also compatible.
- Python (download and installation instructions are provided in course).
- Adobe Acrobat Reader.
Other:
- Email capabilities and access to a personal email account.
Instructional Material Requirements:
The instructional materials required for this course are included in enrollment and will be available online.
Whether you're new to programming or just want to learn a new language, this in-depth course will teach you the ins and outs of Python programming. You will learn all about Python programming in this comprehensive course that covers introductory through advanced methods of Python and get coding quickly.
You'll start by learning the basics of programming in Python, including how it works and what it's good for. You will also gain an understanding of Python's place in the wider programming world. Then, you'll move on to more advanced methods where you'll learn how to work with iPhone Notebook, the Collections Module, regular expressions, databases, CSV files, JSON, and XML. You will also learn advanced sorting, how to write object-oriented code in Python, and how to test and debug your Python code. Finally, you'll get a rapid introduction to NumPy, pandas, and matplotlib, which are Python libraries.
- Introduction to Python
- Python Basics
- Getting Familiar with the Terminal
- Running Python
- Running a Python File
- Exercise: Hello, world!
- Literals
- Exercise: Exploring Types
- Variables
- Exercise: A Simple Python Script
- Constants and Deleting Variables
- Writing a Python Module
- print() Function
- Collecting User Input
- Exercise: Hello, You!
- Reading from and Writing to Files
- Exercise: Working with Files
- Functions and Modules
- Defining Functions
- Variable Scope
- Global Variables
- Function Parameters
- Exercise: A Function with Parameters
- Returning Values
- Exercise: Parameters with Default Values
- Returning Values
- Importing Modules
- Methods vs. Functions
- Math
- Arithmetic Operators
- Exercise: Floor and Modulus
- Assignment Operators
- Precedence of Operations
- Built-in Math Functions
- The math Module
- The random Module
- Exercise: How Many Pizzas Do We Need?
- Exercise: Dice Rolling
- Python Strings
- Quotation Marks and Special Characters
- String Indexing
- Exercise: Indexing Strings
- Slicing Strings
- Exercise: Slicing Strings
- Concatenation and Repetition
- Exercise: Repetition
- Combining Concatenation and Repetition
- Python Strings are Immutable
- Common String Methods
- String Formatting
- Exercise: Playing with Formatting
- Formatted String Literals (f-strings) (introduced in Python 3.6)
- Built-in String Functions
- Exercise: Outputting Tab-delimited Text
- Iterables: Sequences, Dictionaries, and Sets
- Definitions
- Sequences
- Lists
- Sequences and Random
- Exercise: Remove and Return Random Element
- Tuples
- Ranges
- Converting Sequences to Lists
- Indexing
- Exercise: Simple Rock, Paper, Scissors Game
- Slicing
- Exercise: Slicing Sequences
- min(), max(), and sum()
- Converting between Sequences and Strings
- Unpacking Sequences
- Dictionaries
- The len() Function
- Exercise: Creating a Dictionary from User Input
- Sets
- *args and **kwargs
- Virtual Environments, Packages, and pip
- Exercise: Creating, Activiting, Deactivating, and Deleting a Virtual Environment
- Packages with pip
- Exercise: Working with a Virtual Environment
- Flow Control
- Conditional Statements
- Compound Conditions
- The is and is not Operators
- all() and any() and the Ternary Operator
- In Between
- Loops in Python
- Exercise: All True and Any True
- break and continue
- Looping through Lines in a File
- Exercise: Word Guessing Game
- The else Clause in Loops
- Exercise: for...else
- The enumerate() Function
- Generators
- List Comprehensions
- Exception Handling
- Exception Basics
- Generic Exceptions
- Exercise: Raising Exceptions
- The else and finally Clauses
- Using Exceptions for Flow Control
- Exercise: Running Sum
- Raising Your Own Exceptions
- Python Dates and Times
- Understanding Time
- The time Module
- Time Structures
- Times as Strings
- Time and Formatted Strings
- Pausing Execution with time.sleep()
- The datetime Module
- datetime.datetime Objects
- Exercise: What Color Pants Should I Wear?
- datetime.timedelta Objects
- Exercise: Report on Departure Times
- File Processing
- Opening Files
- Exercise: Finding Text in a File
- Writing to Files
- Exercise: Writing to Files
- Exercise: List Creator
- The os Module
- os.walk()
- The os.path Module
- A Better Way to Open Files
- Exercise: Comparing Lists
- PEP8 and Pylint
- PEP8
- Pylint
- Advanced Python
- Advanced Python Concepts
- Lambda Functions
- Advanced List Comprehensions
- Exercise: Rolling Five Dice
- Collections Module
- Exercise: Creating a defaultdict
- Counters
- Exercise: Creating a Counter
- Mapping and Filtering
- Mutable and Immutable Built-in Objects
- Sorting
- Exercise: Converting list.sort() to sorted(iterable)
- Sorting Sequences of Sequences
- Creating a Dictionary from Two Sequences
- Unpacking Sequences in Function Calls
- Exercise: Converting a String to a datetime.date Object
- Modules and Packages
- Regular Expressions
- Regular Expression Tester
- Regular Expression Syntax
- Python's Handling of Regular Expressions
- Exercise: Green Glass Door
- Working with Data
- Virtual Environment
- Relational Databases
- Passing Parameters
- SQLite
- Exercise: Querying a SQLite Database
- SQLite Database in Memory
- Exercise: Inserting File Data into a Database
- Drivers for Other Databases
- CSV
- Exercise: Finding Data in a CSV File
- Creating a New CSV File
- Exercise: Creating a CSV with DictWriter
- Getting Data from the Web
- Exercise: HTML Scraping
- XML
- JSON
- Exercise: JSON Home Runs
- Testing and Debugging
- Testing for Performance
- Exercise: Comparing Times to Execute
- The unittest Module
- Exercise: Fixing Functions
- Special unittest.TestCase Methods
- Classes and Objects
- Attributes
- Behaviors
- Classes vs. Objects
- Attributes and Methods
- Exercise: Adding a roll() Method to Die
- Private Attributes
- Properties
- Exercise: Properties
- Objects that Track their Own History
- Documenting Classes
- Exercise: Documenting the Die Class
- Inheritance
- Exercise: Extending the Die Class
- Extending a Class Method
- Exercise: Extending the roll() Method
- Static Methods
- Class Attributes and Methods
- Abstract Classes and Methods
- Understanding Decorators
- Python Data Analysis with JupyterLab
- JupyterLab
- Exercise: Creating a Virtual Environment
- Exercise: Getting Started with JupyterLab
- Jupyter Notebook Modes
- Exercise: More Experimenting with Jupyter Notebooks
- Markdown
- Exercise: Playing with Markdown
- Magic Commands
- Exercise: Playing with Magic Commands
- Getting Help
- NumPy
- Exercise: Demonstrating Efficiency of NumPy
- NumPy Arrays
- Exercise: Multiplying Array Elements
- Multi-dimensional Arrays
- Exercise: Retrieving Data from an Array
- More on Arrays
- Using Boolean Arrays to Get New Arrays
- Random Number Generation
- Exploring NumPy Further
- pandas
- Getting Started with pandas
- Introduction to Series
- np.nan
- Accessing Elements in a Series
- Exercise: Retrieving Data from a Series
- Series Alignment
- Exercise: Using Boolean Series to Get New Series
- Comparing One Series with Another
- Element-wise Operations and the apply() Method
- Series: A More Practical Example
- Introduction to DataFrames
- Creating a DataFrame using Existing Series as Rows
- Creating a DataFrame using Existing Series as Columns
- Creating a DataFrame from a CSV
- Exploring a DataFrame
- Exercise: Practice Exploring a DataFrame
- Changing Values
- Getting Rows
- Combining Row and Column Selection
- Boolean Selection
- Pivoting DataFrames
- Be careful using properties!
- Exercise: Series and DataFrames
- Plotting with matplotlib
- Exercise: Plotting a DataFrame
- Other Kinds of Plots
What you will learn
- Learn how Python works and what it's good for
- Understand Python's place in the world of programming languages
- Learn to perform math operations with Python
- Learn to work with Python sequences: lists, arrays, dictionaries, and sets
- Learn advanced sorting
- Learn to work with databases, CSV files, JSON, and XML
- Learn to write object-oriented code in Python
- Learn to test and debug your Python code
- Learn to use regular expressions for pattern matching
- Learn to use NumPy to work with arrays and matrices of numbers
- Learn to work with pandas to analyze data
How you will benefit
- Prepare for an entry-level job as a Python programmer
- Enhance your programming ability and add a new skill to your resume
- Become more confident in your ability to use the Python programming language
Nat Dunn founded Webucator in 2003 to combine his passion for technical training with his business expertise and to help companies benefit from both. His previous experience was in sales, business and technical training, and management. Nat has an MBA from Harvard Business School and a BA in International Relations from Pomona College.