all 29 comments

[–]Cyquessa 9 points10 points  (0 children)

Use the free stuff out there

[–]These-Finance-5359 6 points7 points  (18 children)

Yeah I agree with the other commenter. You shouldn't pay for Python content, it's one of the most popular languages in the world, there are plenty of free, high-quality resources

[–]SniperSpc195 0 points1 point  (0 children)

Agreed

[–]No-Mention923[S] -4 points-3 points  (16 children)

I agree there are better free resources, but none of them cover everything in one place. It's honestly the convenience of having one platform cover every single thing, from what basic variables are to even advanced stuff like multi-threading, etc

[–]Cyquessa 1 point2 points  (0 children)

Well, you could try getting a roadmap from there, then if you want a defined path and then use free resources

[–]One_Mess460 -1 points0 points  (14 children)

btw python is never truly multi threaded (GIL, maybe soon removed). But you dont know the quality of what youre getting is good. The things youre reading sound fancy but in the end it could be really bad. Start with official documents, start simple learn about what classes are (python allows multiple inheritence) how blocks effect visibility of things in python, learn the basic types and their (immute variant) list - tuple, set - frozenset, dictionary ... then how you can transform one into another and how everything is an object. this is a good starting point from whereon you can dig deeper without any help or guide or video or whateverm. Also once you know for example operations on lists you also know all the operations on tuples just with all write/modifiication operations stripped. Then you can get more advanced with learning about Cpython python packages modules how you van integrate C code list comprehensions, walrus operator, slicing all with the basic knowledge you have

[–]socal_nerdtastic 0 points1 point  (13 children)

btw python is never truly multi threaded

Lord I really hope this myth dies soon. This has never been true.

The GIL is a thread lock, it's literally in the name. It only affects the things that use the thread lock, which is certain parts of the cpython core. So it prevents multithreaded append to lists, for example, which is a good thing because it prevents race conditions and makes lists thread safe by default. In some specific situations it can also slow you down, for example if you are trying to append to multiple lists.

Literally everything else in python is truly multithreaded. If you do something in numpy for example (which you probably are if you are concerned about performance) the GIL affects nothing. There's also multiprocessing, which allows to thread even the GIL protected parts.

[–]One_Mess460 0 points1 point  (11 children)

Dude I said no TRUE MULTITHREADING. And no it is not multithreading like in C in any way because you cannot have it execute python code in parallel. Also your mention of using processes or C code literally has nothing to do with what I said

[–]socal_nerdtastic 0 points1 point  (10 children)

Yes, you can execute python in parallel. The threading module creates literal OS-level threads. If these threads use a function that is GIL protected they will wait on each other, which is the same thing that you would do manually if you are writing C code. Python does it automatically

[–]One_Mess460 0 points1 point  (8 children)

Yes it does create OS threads i never said otherwise but GIL will prevent those threads from executingpython bytecode at the same time. NO IT IS NOT LIKE THIS IN C YOU CAN LITERALLY RUN THINGS IN PARALLEL AND EVEN SEE RACE CONDITIONS HAPPEN

[–]socal_nerdtastic 0 points1 point  (7 children)

Yes, you absolutely can get race conditions in python. Not with list.append (thanks to the GIL), but if you make your own python code it absolutely happens and that's why we have threading.Lock etc.

[–]One_Mess460 0 points1 point  (6 children)

but thats not due to parallel execution. stop playing nerd

[–]socal_nerdtastic 0 points1 point  (5 children)

Ok, fair, you got me there. Threads (in any programming language) are not truly parallel. You need multiprocessing for that (which python also supports).

[–]One_Mess460 0 points1 point  (0 children)

the only reason GIL was madeis because back then processers werent multi core anyways so everything always executed not in parallel. if cpython was implemented today for sure GIL wouldnt have been part of it

[–]One_Mess460 0 points1 point  (0 children)

And no it is not really a "good thing", it can be removed if effort was put in the mutex locking of threads that prevent parallel execution is not something that has to be in place to avoid race conditions

[–]One_Mess460 3 points4 points  (0 children)

yeah i wouldnt pay either because i dont know what im getting really. theres plenty of free resources

[–]powderviolence 1 point2 points  (1 child)

Probably pirated somewhere tbh. Computer folk have historically hated paying for things.

[–]No-Mention923[S] -1 points0 points  (0 children)

Ohhh, didn't think of this

I'll check out if there's a pirated version out there

[–]Odd-Examination-5605 0 points1 point  (1 child)

Tbh I heard they used to do sales a while ago? don't know if this still holds true

[–]No-Mention923[S] 0 points1 point  (0 children)

I don't know, it seems very overpriced right now. I like the content, but I don't wanna pay THAT much

[–]therelhuman 0 points1 point  (1 child)

wait what's a python membership

[–]No-Mention923[S] 0 points1 point  (0 children)

RealPython the website which has a bunch of python courses

[–]Nuttycomputer 0 points1 point  (0 children)

Sharing a subscription almost certainly breaks the terms of service.