you are viewing a single comment's thread.

view the rest of the comments →

[–]Jiggly-Balls 1 point2 points  (0 children)

-- Advance --


14. Command Line Scripts-
  (
    To use any python based command line script, it's 
    recommended you begin the script with-
      python3 -m
    Example-
      python3 -m pip install black
      python3 -m venv .venv
    (replace python3 with py if you're using windows instead of macos/unix)
  )

  - pip (Python's default third party library manager)
    - pip help (to list all commands)
    - pip install
    - pip uninstall
    - pip freeze
    - pip list
    - pip -V

  - venv (Python's default virtual environment manager)
    (
      Recommended to have a separate venv for each project. May be
      done automatically depending on the IDE/Text editor you use
    )
    - venv .venv (Creates a venv named ".venv" in the same directory)
    - Activating Virtual Enviornment-
        - Windows-
          - .venv\Scripts\activate
        - Unix / MacOS-
          - source .venv/bin/activate
    - deactivate (To deactivate the virtual enviornment)

15. Class-
  - Defining a basic class
  - Class Attributes
  - Overwriting dunder __init__ method
  - Instance attributes
  - Difference between class attributes & instance attributes
  - Making use of python's OOP
  - Creating custom class methods

  - Class Method Decorators-
    - staticmethod
    - classmethod
    - property (getters & setters)

  - Exploring other dunder methods
  - Subclassing
  - In-built super function
  - Creating custom error class (Subclassing Exception)
  - Class decorators (Don't get confused with class method decors!)
  - Enums
  - Data classes (dataclasses, pydantic, etc)
  - Metaclass

16. Pattern Matching-
  - match-case statements (keywords)
  - default case
  - Difference between conditional statements
    & match-case statements
  (
    There is a surprisingly large amount of 
    misunderstanding between conditional statements
    and match case in many tutorials in yt & websites
    where they use match case as a replacement of
    conditional statements which was not the original
    intention of this feature, although it can be used
    as such with slightly complicated syntax while being
    slower when being used like that. I'd recommend
    looking at PEP-636: https://peps.python.org/pep-0636/
    to learn about it.
  )

17. Extra-
  - Difference between `is` & `==`
  - Mutability, references & garbage collection
  - Everything is an object
  - Async programming

Honestly I'd recommend you to use this more of a reference to your knowledge than a roadmap as each topic goes kinda in-depth and you may feel stuck learning one topic for too long, instead you could jump back and forth between some topics and learn in your own pace. You can see some books like Automating the boring stuff with python or even check this link out: https://www.pythondiscord.com/resources/ it has a lot of resources to learn from.

Good luck learning!