I'd actually say it's the former that requires familiarity with the language. The latter only requires you to know some basic looping/control constructs. You don't need to know anything about classes or modules, for example. No need to understand async vs threads vs multiprocessing.
Honestly if you write psuedocode for an algorithm, there's a decent chance it'll be correct Python even if you've never seen Python.
Honestly if you write psuedocode for an algorithm, there's a decent chance it'll be correct Python even if you've never seen Python.