Pythonic Python Part I: The Basics
4.3 (33 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
487 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Pythonic Python Part I: The Basics to your Wishlist.

Add to Wishlist

Pythonic Python Part I: The Basics

Fast and fun python lectures for programmers, with tons of example code; plenty of exercises, and explained solutions.
4.3 (33 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
487 students enrolled
Last updated 2/2013
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • A conscientous and talented student, upon completion of the entire Pythonic Python course will be an expert in the core of Python, and in Pythonic code, bringing maximum efficiency for programmer and program alike.
  • A student who needs less expertise for now, and who sees this material as a smogasboard of "too much", can learn as much of Python as suits.
  • From this Part I, a student will become familiar in a Python development environment, deal with stdio and error handling, branching, looping, and function protocols; and be ready to use any of the thousands of Python 2 libraries.
View Curriculum
  • The Python 2 interpreter running on your computer, any operating system. The interpreter is available for free at
  • A Python development environment. Perhaps your favorite environment can be made to be Python-aware. The "Idle" development environment comes into your computer when you bring in the Python interpreter. Use that if you don't already have a favorite environment.

This is Pythonic Python - Part I of a complete Python course for programmers, in four parts.

The focus, besides learning Python, is learning Pythonic idioms so that your code is beautiful, easy to read and modify, and fast-running.

The Syllabus:

Part I - The Python Basics

Make yourself useful.

  • lab 01 Birds Eye View
  • lab 02 Branching and Looping
  • lab 03 Input and Exceptions
  • lab 04 Formatting Strings
  • lab 05 Functions
  • lab 06 import
  • lab 07 Attribute Scope
  • lab 08 Flexible Functions
  • lab 09 Sequence Slicing
  • lab 10 Sequence Accumulating
  • lab 11 Sequence Differences
  • lab 12 list Facilities
  • lab 13 Sequences And Mutability
  • lab 14 sys Library

Part II The Buzz

Heavy-hitting, time-saving, fun facilities.

  • lab 15 Reuse Trick
  • lab 16 list Scope Issue
  • lab 17 Arguments And Mutability
  • lab 18 list Comprehensions
  • lab 19 Functional Programming
  • lab 20 from importing
  • lab 21 Dictionaries
  • lab 22 Dictionary Marvels
  • lab 23 Variable Arguments Protocols
  • lab 24 raise An Exception
  • lab 25 File IO
  • lab 26 os Module
  • lab 27 Packages
  • lab 28 Dynamic Code
  • lab 29 Decorators
  • lab 30 Generators

Part III Pythonic OOP

So brilliant, you might need shades.

  • lab 31 Classes
  • lab 32 Containment
  • lab 33 Inheritance
  • lab 34 Multiple Inheritance
  • lab 35 Magical Powers
  • lab 36 Privacy And Introspection
  • lab 37 Class Attributes and Scope
  • lab 38 New Style Classes
  • lab 39 Iteration Support
  • lab 40 Attribute Control
  • lab 41 Static and Class Methods
  • lab 42 Context Manager

Part IV The Expert

Know it all.

  • lab 43 Deep Copies
  • lab 44 Piping With subprocess
  • lab 45 File Pattern globbing
  • lab 46 Timing Your Code
  • lab 47 unittest Frameworks
  • lab 48 Option Parsing Frameworks
  • lab 49 Catching Exceptions
  • lab 50 Raising Exceptions
  • lab 51 Inventing Exceptions
  • lab 52 Namespace Review
  • lab 53 Pitfalls
  • lab 54 Finding Modules
Who is the target audience?
  • Software programmers who already know at least one programming language.
Compare to Other Python Courses
Curriculum For This Course
28 Lectures
1 Lecture 03:27
Welcome!  And suggestions for making the best use of this course.  
The Supplementary Material here is the pdf for all 14 labs, and all the code.
Preview 03:27
Birds Eye View
2 Lectures 15:46
A bird's eye view of code to see the structure, the memory model, and get started in your environment.
Preview 13:00

Lab 1 Solutions
Branching and Looping
2 Lectures 17:46
Flow-of-control syntax in Python.
Lab 2 Lecture

Lab 2 Solutions
Input and Exceptions
2 Lectures 14:52
Work with your user and deal with errors the user makes.
Lab 3 Lecture

Lab 3 Solutions
Formatting Strings
2 Lectures 21:09
Replacement into string via the % operator -- Python style, and a discussion of the integer-division-issue.

Lab 4 Lecture

Lab 4 Solutions
2 Lectures 20:18
First look at function protocols. 
Lab 5 Lecture

Lab 5 Solutions
2 Lectures 14:15
Use any of the thousands of libraries and packages available for Python, and start loving introspection.
Lab 6 Lecture

Lab 6 Solutions
Attribute Scope
2 Lectures 05:25
Surprising generosity of scoping for global identifiers.
Lab 7 Lecture

Lab 7 Solutions
Flexible Functions
2 Lectures 06:15
Get more flexibility with default and keyword arguments.
Lab 8 Lecture

Lab 8 Solution
Sequence Slicing
1 Lecture 10:23
Fun facility for extracting pieces of a sequence.  Note that there is an experiential exercise that doesn't not need a solution here.
Lab 9 Lecture
6 More Sections
About the Instructor
Marilyn Davis, Ph.D.
4.3 Average rating
33 Reviews
487 Students
2 Courses
Python Trainer

Marilyn is a well-regarded Python Trainer for the Industry, and a well-loved Python Instructor for UCSC-Extension in the Silicon Valley.  Her history shows her to be an accomplished software engineer as well, demonstrating a knack for finding simple solutions to complex problems, articulating clear explanations, and engendering cooperation.

Dr. Davis earned her degree from UCSD in Theoretical Radio Astronomy.  In the course of that work, her interest shifted to Software Engineering.  She has worked with many different computer languages, and has made software for Computer-Aided Instruction, Astronomy, Statistics, Environmental Research, Operations Research, Email Service, and Electronic Democracy.  

Marilyn was an early contributor to the Open Source movement, authoring eVote/Clerk, software for consensus-building and decision-making on the network.  Her PC Planetarium was sold by the Sierra Club Catalogue.  Her early work in editing radio astronomy data is still in use today.  Her program Basic Primer was a pioneering work in Computer-Aided Instruction and was published by IBM.

Motivated by a love for teaching, she has taught Mathematics and Physics, as well as Software Engineering.  She taught C at UCSC-Extension for 14 years before she encountered Python.  Python has been her focus since her first sight of Python code.  She has been teaching and using Python since 2006.