В Python2.7 этот код может работать очень хорошо, __getattr__ в MetaTable
будет работать. Но в Python 3.5 он не работает.
class MetaTable(type):
    def __getattr__(cls, key):
        temp = key.split("__")
        name = temp[0]
        alias = None
        if len(temp) > 1:
            alias = temp[1]
        return cls(name, alias)
class Table(object):
    __metaclass__ = MetaTable
    def __init__(self, name, alias=None):
        self._name = name
        self._alias = alias
d = Table
d.student__s
Но в Python 3.5 вместо этого получается ошибка атрибута:
Traceback (most recent call last):
  File "/Users/wyx/project/python3/sql/dd.py", line 31, in <module>
    d.student__s
AttributeError: type object 'Table' has no attribute 'student__s'
