Pythonic Python Part I: The Basics
What you'll 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.
Requirements
- The Python 2 interpreter running on your computer, any operating system. The interpreter is available for free at http://python.org/download/.
- 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.
Description
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 this course is for:
- Software programmers who already know at least one programming language.
Instructor
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.