Drivers: How to access "self"? Quick question:

I'm trying to set up a driver which uses the Y-scale of whatever object the driver is on (which means that I don't want to use the Y-scale of a specific object, but rather any object). 

I've read that the option "Use Self" is perfect this exact scenario, but I can't figure out how to use the self variable.

Someone suggested I use bpy.data.objects[self.id_data.user.name].scale.y in the python expression but that returns an ERROR: Invalid python expression.

What am I doing wrong? Thanks!
Using self in a driver is not as straight forward as thought, though it is really easy once you know where to put it. In short: In your driver, simply don't declare a variable, but use self in the expression itself to reference to the object. Check this screenshot here:



This driver is hooked up to the scale.y property of an object. The important bit here is to check Use Self as indicated in the upper screenshot, so Blender actually declares what object self is pointing to automatically.

Now you can copy and paste this driver to any other object, it will take the scale.x from there as a driving source.