What is your sense, will they be trying to test whether you know Python, see whether you can get things done in Python, or test whether you can program (in Python)?
Those are very different things.
If they want you to show that you know Python, they may force you to do things like create a generator, then do it without using yield
. Explain how classes work. Explain the C3 method resolution order. And so on.
If they want you to show you can get things done in Python, you'll need to be competent with the basic data structures, and have a list of libraries that you'd go to for different kinds of tasks. So you need to be comfortable with dictionaries, sets, arrays. Likewise you need to know about things like BeautifulSoup
for parsing HTML, be able to talk about a framework that could be used for web development, etc. You don't necessarily need to know how to use those things well, but you should know where to go, how to figure out more, and be able to actually use them once the interviewer has given you things that are documented.
If they want you to show that you can program (in Python), you'll need to know the basic data structures, and know your algorithms. This is much closer to the C/C++ questions that you'd be asked, except that you'll be expected to use native data structures where it makes your life easy.
To be safe you should prepare to some extent for all three. For instance read through http://docs.python.org/tutorial/ and make some notes to yourself. Hopefully you already know how to program. And then try some random tasks, and force yourself to use libraries that you may have missed. So, for instance, read some CSV, extract information programmatically out of a web page, build a small website with a framework, etc.