100 Days of Python (by Martin Mirakyan)

As the name suggests, Martin Mirakyan is exploring the Python programming language for over 100 days. He starts from a complete beginner level to make sure people without any programming background can get started and follow along. Then he gradually covers more advanced concepts such as task automation, data visualization, and web scraping and performs some basic data-science experiments.

 

In general, Python is a popular, general-purpose programming language known for its simplicity, readability, and flexibility. It is used in a wide range of applications, including web development, data analysis, scientific computing, and artificial intelligence.

 

Here are a few reasons why one might start learning Python:

  • Python is easy to learn: Its simple syntax and readable code make it a great first programming language for beginners.
  • Python is versatile: It can be used for a wide range of tasks, from web development to data analysis to artificial intelligence.
  • Python has a large, active community: There are countless resources available online for learning Python, and the community is always working on new libraries and tools to make it even better.

 

Along with the concepts, the blog posts will also include some practical exercises with links to resources where one might write code and learn by doing.

 

The list of topics covered will be updated on a rolling basis every day:

  1. Printing values in Python
  2. Getting input from users in Python
  3. Arithmetic expressions and numeric variables in Python
  4. Boolean variables and boolean arithmetic in Python
  5. Conditions in Python — if/else
  6. Nested conditions in Python
  7. Floating point numbers
  8. Augmented assignments (+=, -=, etc.)
  9. Strings
  10. How to format text and what are f-strings in Python?
  11. Lists
  12. What is the range() function in Python?
  13. For loops
  14. While loops
  15. break and continue
  16. How Python almost had another keyword
  17. 5 most useful string casing methods in Python
  18. 5 most useful string modifying methods in Python
  19. Splitting and Joining strings in Python
  20. 10 most useful list methods in Python
  21. Nested loops in Python
  22. Python List Comprehension — Deep Dive
  23. Tuples in Python
  24. Sets in Python
  25. Dictionaries in Python
  26. Why Python Does Not Have Tuple Comprehension?
  27. Functions in Python
  28. What are Multiple Return Values Actually in Python?
  29. 4 Types of Function Arguments in Python that You Might Not Know About
  30. Python Variable Scope
  31. Enumerate and Zip Functions in Python
  32. Lambda Functions in Python: A Comprehensive Guide to Understanding and Using Anonymous Functions
  33. Higher Order Functions in Python
  34. Working With Files in Python
  35. With Statement in Python
  36. Automating Data Cleaning With Python
  37. Positional-only and Keyword-only Arguments in Python
  38. Does Python Have Pass-by-Value VS Pass-by-Reference Variables?
  39. Recursion in Python
  40. What is Stack Overflow Really?
  41. Regular Expressions in Python
  42. Regular Expressions — Grouping and Backreferences
  43. Python Classes and Objects
  44. Mastering Private and Protected Fields in Python Classes: A Complete Tutorial
  45. What are Magic Methods in Python Classes?
  46. Inheritance in Python
  47. Method Overriding in Python
  48. Multiple Inheritance in Python
  49. Type Hints and Type Checking in Python
  50. How to Create Custom Generic Types in Python
  51. Abstract Classes in Python
  52. Data Classes in Python
  53. Properties in Python
  54. Static Methods in Python
  55. Implementing Custom Decorator Functions in Python
  56. Class Decorators in Python
  57. Python — Exception Handling
  58. Exception Hierarchy in Python
  59. Custom Exceptions in Python — Creating Custom Exceptions
  60. Iterators in Python
  61. Generators in Python
  62. Iterables in Python
  63. 10 Most Useful Itertools Methods
  64. Glob — Working with Files in Python
  65. Pathlib — The OOP Approach of Working with File System in Python
  66. Creating Custom Context Managers in Python
  67. All the Ways You Can Use Context Managers in Python
  68. Multithreading in Python
  69. Synchronizing Threads in Python With Locks
  70. Synchronizing Threads in Python With Semaphores
  71. Synchronizing Threads in Python With Barriers
  72. Multiprocessing in Python
  73. What Is the Python Global Interpreter Lock (GIL)?
  74. Multithreading VS Multiprocessing in Python
  75. Thread Pools and Process Pools in Python
  76. Async Await in Python — Asyncio Deep Dive
  77. Async with Expression in Python
  78. Making Requests With asyncio in Python
  79. Working With Databases Using asyncio in Python — SQLAlchemy Example
  80. Multithreading VS Multiprocessing VS Asyncio in Python
  81. How Modules Actually Work in Python and How to Create Your Own Custom Module
  82. What are Packages in Python and What is the Role of __init__.py files?
  83. Working With Third-Party Libraries in Python
  84. Virtual Environments in Python
  85. Unit Testing in Python with Pytest
  86. Test Coverage in Python with Pytest
  87. Mocking and Fixtures in Python
  88. Web Scraping with Scrapy in Python
  89. Working with Excel Sheets and CSV Files Using Pandas for Data Processing
  90. Working With XML and JSON Data in Python
  91. Mastering Image Processing in Python with Scikit-Image — A Comprehensive Guide to Image Processing Techniques
  92. Mastering NumPy in Python for Numerical Computations: A Comprehensive Tutorial
  93. Mastering Data Analysis with Pandas
  94. Machine Learning in Python with Scikit-Learn
  95. Creating an Interactive Website with Streamlit in Python
  96. Creating Beautiful Data Visualizations with Plotly and Dash
  97. Creating Custom ChatGPT Using the OpenAI API
  98. More coming soon…

Read the full article at: martinxpn.medium.com

More
articles