To my knowledge, I can't find any information where it explicitly mentions that it can use python or not use python with this spec. However, it does mention that the file does need to be in .xml format and python use .py format, so I would say that it can't use python with this spec, and there probably needs to be some sort of transformation information to convert what you from python into a .xml file which would then work with this spec.
It does choice interactions which most just refer to as multiple choice where the marking is automated and its possible to make the user select all the correct answers to receive full credit. There are extended text where the user supplies a string of text in response to the prompt which are just like text based question, however it should be noted that the marking being automated is not possible as its beyond the scope of QTI. There are also text entry which resembles "fill in the blank" type questions where again the marking is automated and even possible partial marks, for instance if the answer is suppose to be a name and there's no capital letter receive in the answer then they only get partial marks.
Since there's some transformation to QTI XML file into HTML and accompanying web standards like javascript and CSS for instance and many other, then QTI should also be able to handle images as well.
I describe how it scores certain questions in 2. Additionally, I found some information on a qti-feedback block element in which its use outcome variables to control the flow of the story when prompting the user through the Monty Hall problem. And that the scoring is based on the strategy you took and your answer to the final question.
Yes it is portable between different systems, as it reaches the standard of PCI in which one of the criteria is between portable.
Do an exploratory analysis of the QTI format (Specifically Text Question) to see what its limitations are: https://www.imsglobal.org/question/index.html
Some questions I have are:
1) Can you ship python code with this spec ?
2) What are the problem types it handles?
3) Does it handle images?
4) How does it deal with meta data like learning outcomes, problem type, difficulty, etc...?
5) Is it portable? easy to move around between systems?