How widely are Python arrays used in practice?
I haven't had much occasion to use them. I suspect that most use cases nowadays where the speed advantage is needed involve numerical computing where the user is probably using a library like numpy or scipy and will use their array implementation, not the built-in Python one. However, arrays have been around in Python since very early on, when those other numerical libraries didn't exist, so the array built-in might have gotten more use then.
No. At the C level in the interpreter they are arrays of object pointers.
> They are not called arrays because they are a different data structure.
No. They're not called arrays because Python uses the name "array" for something else:
https://docs.python.org/3/library/array.html