:snake: Syntax, working with Shell commands, Files, Text Processing, and more...
<br>

---

:warning: :warning: I'm archiving this repo, as I don't intend to work on this repo further.

I'm re-using materials in this repo for the **100 Page Python Intro** book (https://github.com/learnbyexample/100_page_python_intro).

I'm also working on **Practice Python Projects** book (https://github.com/learnbyexample/practice_python_projects), which I had intended in this repo for the `mini_projects` folder.

---

<br> <br> <br>

# <a name="python-basics"></a>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)?](https://github.com/learnbyexample/py_regular_expressions) repo for a book on regular expressions
* [Python resources for everybody](https://learnbyexample.github.io/py_resources/) for a curated and searchable collection, including resources for complete beginners to programming
* For more related resources, visit [scripting course](https://github.com/learnbyexample/scripting_course) and my programming blog https://learnbyexample.github.io

<br>

# <a name="chapters"></a>Chapters

* [Introduction](./Introduction.md)
    * Installation, Hello World example, Python Interpreter, Python Standard Library
* [Number and String data types](./Number_and_String_datatypes.md)
    * Numbers, String, Constants, Built-in Operators
* [Functions](./Functions.md)
    * def, print function, range function, type function, Variable Scope
* [Getting User input](./User_input.md)
    * Integer input, Floating point input, String input
* [Executing external commands](./Executing_external_commands.md)
    * Calling Shell commands, Calling Shell commands with expansion, Getting command output and redirections
* [Control Structures](./Control_structures.md)
    * Condition checking, if, for, while, continue and break
* [Lists](./Lists.md)
    * 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](./Sequence_Set_Dict_data_types.md)
    * Strings, Tuples, Set, Dictionary
* [Text Processing](./Text_Processing.md)
    * String methods, Regular Expressions, Pattern matching and extraction, Search and Replace, Compiling Regular Expressions, Further Reading on Regular Expressions
* [File handling](./File_handling.md)
    * open function, Reading files, Writing to files, Inplace editing with fileinput
* [Command line arguments](./Command_line_arguments.md)
    * Known number of arguments, Varying number of arguments, Using program name in code, Command line switches
* [Exception Handling and Debugging](./Exception_Handling_and_Debugging.md)
    * Exception Handling, Syntax check, pdb, Importing program
* [Docstrings](./Docstrings.md)
    * Style guide, Palindrome example
* [Testing](./Testing.md)
    * 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](./Exercises.md)
* [Further Reading](./Further_Reading.md)
    * Standard topics not covered, Useful links on coding, Python extensions

<br>

## <a name="contributing"></a>Contributing

* Please open an issue for typos/bugs/suggestions/etc
    * As this repo is no longer actively worked upon, **please do not submit pull requests**
* Share the repo with friends/colleagues, on social media, etc to help reach other learners
* In case you need to reach me, mail me at `echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode` or send a DM via [twitter](https://twitter.com/learn_byexample)

<br>

# <a name="ebook"></a>ebook

* Read as ebook on [gitbook](https://learnbyexample.gitbooks.io/python-basics/content/index.html)
* All `legacy.gitbook.com` links are now automatically redirected to `gitbook.com`, so there's no longer an option to download ebooks for offline reading

<br>

# <a name="acknowledgements"></a>Acknowledgements

* [automatetheboringstuff](https://automatetheboringstuff.com/) for getting me started with Python
* [/r/learnpython/](https://www.reddit.com/r/learnpython/) - helpful forum for beginners and experienced programmers alike
* [stackoverflow](https://stackoverflow.com/) - for getting answers to pertinent questions as well as sharpening skills by understanding and answering questions
* [Devs and Hackers](http://devup.in/) - helpful slack group
* [Weekly Coders, Hackers & All Tech related thread](https://www.reddit.com/r/india/search?q=Weekly+Coders%2C+Hackers+%26+All+Tech+related+thread+author%3Aavinassh&amp;restrict_sr=on&amp;sort=new&amp;t=all) - for suggestions and critique

<br>

# <a name="license"></a>License

This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/)

