Should I complain to higher authorities about the incompetence of this teacher?
This is more of an extended comment, placing some guesses as to what's actually happened here. As an answer to the question it is the advice to consider which parts of the following applies to your situation, and adjusting any actions you may take accordingly.

Keep in mind that computer science is not programming. This instructor likely doesn't code much Python in their main job (CS research presumably), nor did they necessarily ask to teach Python. Rather, the departement decided to teach Python as a beginner language, and somebody needs to do that teaching – somebody who knows enough about programming to help actual beginners, which will be helpful to the course's intended audience, but not necessarily an actual Python expert.
You, apparently, are a Python expert, which is great – relax, this course is going to be easy for you, and if you can even contribute to making it better for your fellow students, awesome.
But don't let your superiority in Python fool you into thinking the instructor is inferior as a teacher of a beginner's programming course. You think their introduction to the language was bad... why?

Was it hard to understand? Well, that could mean they explained stuff badly, but surely you as an already-expert wouldn't have had problems regardless?Maybe they actually explained some aspects that really are more tricky than you ever considered.
Was it too shallow? Well, that may be exactly what's right for your fellows without earlier Python background.
Did it use outdated or unidiomatic code? This happens a lot in university courses, but it's not necessarily such a bad thing. Keep in mind that anyway today's up-to-date is just tomorrows outdated and one language's unidiomatic is another's bread&amp;butter. General concepts are more important in a beginner's course than language-specific details.

Regarding your concrete statements,

doesn't know what a return statement does

I plainly refuse to believe that. I mean, if it's really that bad then forget all I wrote above... but almost sure there has just been a misunderstanding here.

or how to iterate over elements of a sequence

That too should certainly not be a problem to anybody teaching anything programming-related, however I would still remark that Python's iterators are somewhat idiosyncratic. It's true that for a Python course, they should have read up on this properly, but again make sure you're actually interpreting this properly. First teaching loops with indices before going to range- / iteratee based ones is a valid pedagogic decision, even if it doesn't make much sense as far as Python programming in particular is concerned.