【发布时间】:2017-03-12 12:14:47
【问题描述】:
我正在尝试将 init 中的名称用于我的类属性 attr,但这似乎是不可能的。
这是代码:
class B:
def __init__(self, val):
self.val = val
def __get__(self, instance, owner):
return owner.valEditNew(self.val)
def __set__(self, instance, value):
return
class A:
def __init__(self, name = 'def_name'):
self.name = name
attr = B('G120')
def valEditNew(val):
val += ' @edited'
return val
a = A('JJ')
print(a.attr)
如果我使用 self.name 或 name 或 ... 代替 G120>>>
builtins.NameError: name 'self' is not defined
如果这不可能,你能给我指路吗?
【问题讨论】:
标签: python python-3.x class attributes