obh.val_1 is "gnd"
compares the two objects in memory if they are the same object. Python sometimes interns strings in order to reuse them if they are identical. Using "is" to compare strings will not always have predictable results. In another sense, you sort of called
id(obh.val_1) == id("gnd") #id demonstrates uniqueness
Use "==" for string equality to achieve your intention.