Skip the beginner course entirely. You already know what a loop, a function and a conditional are — sitting through 'what is a variable' wastes weeks. What you actually need is syntax mapping, then the language's idioms, then a real project.
The efficient sequence:
1. **Get the syntax map, in a day.** Find a 'Python for JavaScript developers' style comparison — these exist for every popular pairing. You want a side-by-side of the things you already do: declare a variable, write a function, loop over a list, define a class, handle errors, import a module, work with arrays/dicts. One focused day covers 80% of daily syntax.
2. **Learn the type system and data structures properly**, because this is where the real differences hide. In your case: lists vs tuples vs dicts vs sets, mutability, how truthiness works, how strings differ. Assuming the semantics match your existing language is the main source of subtle bugs when transferring.
3. **Build something small immediately** — day two or three. A script that does something you actually want. Nothing teaches faster than needing the answer to 'how do I read a file in this language' right now.
4. **Learn the idioms deliberately.** This is the step that separates 'writing JavaScript with Python syntax' from actually knowing Python — and it's the one people skip. List comprehensions instead of loop-and-append, context managers (`with`) instead of manual cleanup, `enumerate` and `zip`, EAFP over checking first. Every language has a small set of 'this is how we do it here' patterns, and using them makes your code readable to other people in that ecosystem.
5. **Learn the tooling**, which is often the genuinely unfamiliar part: package manager, virtual environments, project layout, testing framework, formatter, linter. For Python specifically, virtual environments confuse more experienced developers than the language does.
6. **Read good code** in the new language — a well-regarded open-source project — to absorb conventions.
Realistic timeline for a competent developer: productive in a week, comfortable in a month, idiomatic in three to six. The fundamentals genuinely transfer; what takes time is the ecosystem and the taste.
The trap to avoid: writing your first language in your new language's syntax. It works, it passes review from nobody, and it marks you immediately. Deliberately look up 'the Pythonic way to do X' for the first dozen things you write — the habit fades quickly once the idioms are in your hands.
And keep a scratch file of differences that bit you. Small semantic surprises (integer division, default argument behaviour, scoping rules) are the ones that cause bugs later, and writing them down once fixes them permanently.