Back To Course Home
Python 3: An interactive deep dive
0% completed
Your First Python Program
Diving InDeclaring FunctionsWriting Readable CodeThe import Search PathEverything Is An ObjectIndenting CodeExceptionsUnbound VariablesEverything is Case-SensitiveRunning ScriptsFurther Reading
Native Datatypes
Diving In
Booleans
Numbers
Lists
Tuples
Sets
Dictionaries
None
Further Reading
Comprehensions
Diving InWorking With Files And DirectoriesList ComprehensionsDictionary ComprehensionsSet ComprehensionsFurther Reading
Strings
Some Boring Stuff You Need To Understand Before You Can Dive InUnicodeDiving InFormatting StringsOther Common String MethodsStrings vs. BytesPostscript: Character Encoding Of Python Source CodeFurther Reading
Regular Expressions
Diving InCase Study: Street AddressesCase Study: Roman NumeralsUsing The {n,m} SyntaxVerbose Regular ExpressionsCase study: Parsing Phone NumbersSummary
Closures & Generators
Diving InI Know, Let’s Use Regular Expressions!A List Of FunctionsA List Of PatternsA File Of PatternsGeneratorsFurther Reading
Classes & Iterators
Diving InDefining ClassesInstantiating ClassesInstance VariablesA Fibonacci IteratorA Plural Rule IteratorFurther Reading
Advanced Iterators
Diving In
Finding all occurrences of a pattern
Finding the unique items in a sequence
Making Assertions
Generator expressions
Calculating Permutations… The Lazy Way!
Other Fun Stuff in the itertools Module
A New Kind Of String Manipulation
Evaluating Arbitrary Strings As Python Expressions
Putting It All Together
Further Reading
Unit Testing
(Not) Diving InA Single Question“Halt And Catch Fire”More Halting, More FireAnd One More Thing…A Pleasing SymmetryMore Bad Input
Refactoring
Diving InHandling Changing RequirementsRefactoringSummary
Files
Diving InReading From Text FilesWriting to Text FilesBinary FilesStream Objects From Non-File SourcesStandard Input, Output, and ErrorFurther Reading
XML
Diving InA 5-Minute Crash Course in XMLThe Structure Of An Atom FeedParsing XMLSearching For Nodes Within An XML DocumentGoing Further With lxmlGenerating XMLParsing Broken XMFurther Reading
Serializing Python Objects
Diving InSaving Data to a Pickle FileLoading Data from a Pickle FilePickling Without a FileBytes and Strings Rear Their Ugly Heads AgainDebugging Pickle FilesSerializing Python Objects to be Read by Other LanguagesSaving Data to a JSON FileMapping of Python Datatypes to JSONSerializing Datatypes Unsupported by JSONLoading Data from a JSON FileFurther Reading
HTTP Web Services
Diving InFeatures of HTTPHow Not To Fetch Data Over HTTPWhat’s On The Wire?Introducing httplib2Beyond HTTP GETBeyond HTTP POSTFurther Reading
Case Study: Porting chardet to Python 3
Diving InWhat is Character Encoding Auto-Detection?Introducing The chardet ModuleRunning 2to3A Short Digression Into Multi-File ModulesFixing What 2to3 Can’tSummary
Packaging Python Libraries
Diving InThings Distutils Can’t Do For YouDirectory StructureWriting Your Setup ScriptClassifying Your PackageSpecifying Additional Files With A ManifestChecking Your Setup Script for ErrorsCreating a Source DistributionCreating a Graphical InstallerAdding Your Software to The Python Package IndexThe Many Possible Futures of Python PackagingFurther Reading
Appendix : Where To Go From Here
Things to ReadWhere To Look For Python 3-Compatible CodeLicense

Further Reading

  • Boolean operations
  • Numeric types
  • Sequence types
  • Set types
  • Mapping types
  • fractions module
  • math module
  • PEP 237: Unifying Long Integers and Integers
  • PEP 238: Changing the Division Operator

Get hands-on with 1400+ tech skills courses.