创建一个人类

时间:2018-07-22 17:32:14

标签: python python-3.x

我想制作一个包含first_namelast_name属性的Person类,这些属性传递到__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'

我对于如何为此类输出编写代码感到困惑。

4 个答案:

答案 0 :(得分:1)

使用@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

答案 1 :(得分:1)

您也可以尝试以下代码。

  

尝试在http://rextester.com/ILKVMO81621的nline代码上找到

class Person(object):
    def __init__(self, first_name, last_name):
        """
        Constructor function that sets properties
        """
        self.first_name = first_name
        self.last_name = last_name
        self.full_name = self.first_name + " " + self.last_name
        self.name = self.last_name + ", " + self.first_name

if __name__ == "__main__":
    person1 = Person("Anders", "Rossum")
    print(person1.full_name) # Anders Rossum
    print(person1.name)      # Rossum, Anders

答案 2 :(得分:0)

这就是我解决此问题的方式。

class Person:

    def __init__(self,first_Name,last_Name):
        self.firstName = first_Name
        self.lastName = last_Name

    def full_name(self):
        fullname = self.firstName + ' ' + self.lastName
        print(fullname)

    def name(self):
        name = self.lastName + ', ' + self.firstName
        print(name)

person1 = Person('D','C')
print(person1.lastName)
person1.full_name()
person1.name()

答案 3 :(得分:-1)

您可以在类中创建名为full_name的方法,并在“老师”对象上调用该名称时,将打印出所需的输出。在init()函数中,传入的输入“ D”和“ C”被分配给变量,您可以简单地以特定方式打印或返回这些变量以实现所需的输出。

请参阅以下代码以供参考:

class Person:

    def __init__(self, first, last):
        self.__first = first;
        self.__last = last;

    def full_name():
        print(self.__first + " " + self.__last)

    def name():
        print(self.__last + ", " + self.__first)

如果某些语法错误,请随时纠正我。