如何使用属性格式化 类 中的字符串?
How to format strings in classes using attributes?
我想用 class 的另一个属性格式化 class 的属性字符串,如下所示:
class Test:
def __init__(self):
self.name = None
self.full_name = 'name, {}'.format(self.name)
def print_name(self):
print(self.full_name)
my_object = Test()
my_object.name = 'my_object'
my_object.print_name()
现在应该打印 'name, my_object'
但它打印 'name, None'
如何将字符串格式化为对象的赋值?
您需要将 full_name
添加为 property
以便您可以向其中添加更多逻辑:
class Test:
def __init__(self):
self.name = None
@property
def full_name(self):
return f'name, {self.name}'
def print_name(self):
print(self.full_name)
my_object = Test()
my_object.name = 'my_object'
my_object.print_name()
资源:
我想用 class 的另一个属性格式化 class 的属性字符串,如下所示:
class Test:
def __init__(self):
self.name = None
self.full_name = 'name, {}'.format(self.name)
def print_name(self):
print(self.full_name)
my_object = Test()
my_object.name = 'my_object'
my_object.print_name()
现在应该打印 'name, my_object' 但它打印 'name, None'
如何将字符串格式化为对象的赋值?
您需要将 full_name
添加为 property
以便您可以向其中添加更多逻辑:
class Test:
def __init__(self):
self.name = None
@property
def full_name(self):
return f'name, {self.name}'
def print_name(self):
print(self.full_name)
my_object = Test()
my_object.name = 'my_object'
my_object.print_name()
资源: