"I need to know how to make it work correctly."
that will take some work on your script.
First off, there are many problems with your script. The most obvious being a syntax error. you should have another
Vector((0, 0, 0). Second, you do not define
ob. But the worst error, is you can not define a vector on a game property. There is no property type called vector
The five property types are Boolean, Integer, Float, String, and Timer. If you try to assign a vector to a game property, the only one that would come close to working is the String property, and that wouldn't do much in the realm of usefulness.
I would not actually use the method you are trying to use. I would calculate Acceleration like this:
from mathutils import Vector
controller = bge.logic.getCurrentController()
obj = controller.owner
previous_velocity = Vector(obj.worldLinearVelocity)
current_velocity = Vector(obj.worldLinearVelocity)
acceleration = (current_velocity - previous_velocity) * bge.logic.getAverageFrameRate()
previous_velocity = current_velocity
Also, you must reference this bit of python by calling it from a module controller, not a script controller.