sorted by: new top controversial old
[-] nikaro@jlai.lu 9 points 4 months ago* (last edited 4 months ago)

Certainly not the best, but codecademy is decent. After that, it should be enough for you to learn more deeply from official Python documentation, actual Python code base (from OSS repositories), and specific subjects from blog articles.

But it will highly depend on what type of content you like. For example some people may prefer books over interactive courses. If this is your case, i think this one is recognized as a very good one: https://learnpythonthehardway.org/python3/

[-] nikaro@jlai.lu 4 points 1 year ago

Nice! It looks like the best solution out there.

[-] nikaro@jlai.lu 4 points 1 year ago* (last edited 1 year ago)

Python >= 3.10 version:

def foo(return_more: bool) -> DataType | tuple[DataType, MoreDataType]: ...

But i would definitely avoid to do that if possible. I would maybe do something like this instead:

def foo(return_more: bool) -> tuple[DataType, MoreDataType | None]:
    ...
    if return_more:
        return data, more_data
   return data, None

Or if data is a dict, just update it with more_data:

def foo(return_more: bool) -> dict[str, Any]:
    ...
    if return_more:
        return data.update(more_data)
   return data
[-] nikaro@jlai.lu 1 points 1 year ago

The difference is that with Protocol you can define which method presence you want to ensure. Like i said: custom vs. generic.

[-] nikaro@jlai.lu 1 points 1 year ago

From what i understand, Protocol is for custom interfaces that you define (this object must have do_x() method), while ABCs are generic (this object is iterable).

35
submitted 1 year ago* (last edited 1 year ago) by nikaro@jlai.lu to c/python@programming.dev

This is like Interface in Go (or Java, i don't speak Java but the article say so).

[-] nikaro@jlai.lu 6 points 1 year ago

You won't see the end of these crapwares until there is centralized managment console with it, sadly...

nikaro

joined 1 year ago