Python Basics
Introduction to Python - Syntax, working with Shell commands, Files, Text Processing, and more...
- Suitable for a one/two day workshop for Python beginners
- Visit Python re(gex)? repo for a book on regular expressions
- Python curated resources for more complete resources list, including tutorials for complete beginners to programming
- For more related resources, visit scripting course and my programming blog https://learnbyexample.github.io
Chapters
- 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
Contributing
- Please open an issue on github 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
- In case you need to reach me, use gitter private chat
- or mail me at
echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode
- or mail me at
ebook
Acknowledgements
- automatetheboringstuff for getting me started with Python
- /r/learnpython/ - helpful forum for beginners and experienced programmers alike
- stackoverflow - for getting answers to pertinent questions as well as sharpening skills by understanding and answering questions
- Devs and Hackers - helpful slack group
- Weekly Coders, Hackers & All Tech related thread - for suggestions and critique
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License