Correct answer is : A
The class attribute "data" will be shared by the instances.
When we set "data" to "self" in "def set_data" it attaches the "data" attribute to the particular instance only
Before calling p.set_data('easy') , the value self.data refers to class attribute "data" and the value will be "python"
So p.printme() prints "python python"
But once reassign self.data to a value "easy", the value of "self.data" will become "easy" for the particular instance "p", but Foo.data value remain unchanged
So the second printme() prints "easy python"
Comment here: