python - 创建人员类
问题描述
我想创建一个包含传递给方法的属性first_name
的Person 类。然后我想添加一个名为的属性,它返回名字和姓氏以及它们之间的空格。然后我还想添加一个名为的属性,它以姓氏的格式一起返回名称,后跟逗号和空格,然后是名字。last_name
__init__
full_name
name
下面是一个示例输出。
from Code4 import Person
teacher = Person("D", "C")
teacher.last_name
'C'
teacher.full_name
'D C'
teacher.name
'C, D'
我对如何为这种输出编写代码感到困惑。
解决方案
使用@property
装饰器(这样你只能输入Person.name
而不是Person.name()
括号:
class Person:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@property
def full_name(self):
return f'{self.first_name} {self.last_name}'
@property
def name(self):
return f'{self.last_name}, {self.first_name}'
teacher = Person('D', 'C')
print(teacher.last_name)
print(teacher.full_name)
print(teacher.name)
印刷:
C
D C
C, D
推荐阅读
- xamarin.android - 从 sqlite 填充数据集
- python - 在测试套件结束时运行缓慢的 Pytest 命令
- linux - 如何使用 NASM 更改 x86-64 程序集的开始/主入口点?
- ios - Xcode development workflow with binary framework
- python - Multiprocessing Gremlin "OSError: [Errno 9] Bad file descriptor"
- node.js - 我如何在猫鼬的另一个 objectId 中填充 objectId
- ios - UISearchBar url 请求
- asp.net-core - 如何在删除级联时删除身份用户?
- c# - LuisV3.PredictionOptions 不允许我使用时区 - 怎么做?
- c - 使用 POSIX 信号量函数在父进程和子进程之间切换的问题