Prior to the Internet, the two primary avenues for learning a programming language were textbooks or university courses. However, the Internet now enables students to teach themselves a language in an accessible and interactive way. The following resources are free unless noted, and are available for public use.

Code Academy - https://www.codecademy.com/ Interactive, self-paced website to learn programming languages such as Python, Ruby and C++.

Google's Python Class - https://developers.google.com/edu/python/
Instructional website for learning Python, with example code and community discussion forums.

Coursera - https://www.coursera.org/
eLearning site for online classes in all disciplines and fields. Rice University and University of Michigan offer multi-week Python courses for beginner and intermediate skill levels. Instructors are available for grading and feedback of assignments.

edX - https://www.edx.org/
eLearning website started by MIT and Harvard, offering online and self-paced classes in multiple disciplines and fields. Courses in Python are offered by MIT and the University of Texas at Arlington.

Learn Python the Hard Way - https://learnpythonthehardway.org/
Website for Python learners with videos, documentation and sample code for use. Fee of $29.95 USD.

Note: This is by no means meant to be an exhaustive list of programming courses or resources available on the web, but is simply meant to point the reader in a direction for finding a solution which best fits their learning style. Many universities and community colleges also offer online and instructor-led courses.