Skip to content
🐍 Syntax, working with Shell commands, Files, Text Processing, and more...
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
exercise_files added type checking assertions May 21, 2018
exercise_solutions improved regex solution Sep 5, 2018
images added patreon image Oct 9, 2018
mini_projects Create Dec 29, 2017
python_programs variable name change Jul 11, 2017 markdown formatting Mar 18, 2017 markdown formatting Mar 18, 2017 clarified and added links for exception handling Oct 11, 2017 markdown formatting Mar 18, 2017 added two more interesting exercises Apr 8, 2018 examples for f-strings in Python v3.6 Dec 22, 2017 markdown formatting Mar 18, 2017 for info on Python installation Apr 14, 2017 deleting list elements with slicing notation Sep 24, 2017 formatting Dec 26, 2017 link to Regular Expressions book Feb 22, 2019 notes and examples for Python v3.5/v3.6/v3.7 dict Jun 22, 2018 markdown formatting Mar 18, 2017 updated regex examples and descriptions Mar 2, 2019 markdown formatting Mar 18, 2017

Python Basics

Introduction to Python - Syntax, working with Shell commands, Files, Text Processing, and more...


  • Introduction
    • Installation, Hello World example, Python Interpreter, Python Standard Library
  • Number and String data types
    • Numbers, String, Constants, Built-in Operators
  • Functions
    • def, print function, range function, type function, Variable Scope
  • Getting User input
    • Integer input, Floating point input, String input
  • Executing external commands
    • Calling Shell commands, Calling Shell commands with expansion, Getting command output and redirections
  • Control Structures
    • Condition checking, if, for, while, continue and break
  • Lists
    • Assigning List variables, Slicing and Modifying Lists, Copying Lists, List Methods and Miscellaneous, Looping, List Comprehension, Getting List as user input, Getting random items from list
  • Sequence, Set and Dict data types
    • Strings, Tuples, Set, Dictionary
  • Text Processing
    • String methods, Regular Expressions, Pattern matching and extraction, Search and Replace, Compiling Regular Expressions, Further Reading on Regular Expressions
  • File handling
    • open function, Reading files, Writing to files, Inplace editing with fileinput
  • Command line arguments
    • Known number of arguments, Varying number of arguments, Using program name in code, Command line switches
  • Exception Handling and Debugging
    • Exception Handling, Syntax check, pdb, Importing program
  • Docstrings
    • Style guide, Palindrome example
  • Testing
    • assert statement, Using assert to test a program, Using unittest framework, Using unittest.mock to test user input and program output, Other testing frameworks
  • Exercises
  • Further Reading
    • Standard topics not covered, Useful links on coding, Python extensions


  • Please open an issue for typos/bugs/suggestions/etc
    • Even for pull requests, open an issue for discussion before submitting PRs
    • or gitter group chat for discussion as well as for help/mentorship
  • Share the repo with friends/colleagues, on social media, etc to help reach other learners
  • Contribute by donating on patreon or liberapay
  • In case you need to reach me, use gitter private chat
    • or mail me at echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode


  • Read as ebook on gitbook
  • Download ebook for offline reading - link



This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

You can’t perform that action at this time.