构造方法修改下就可以了,即init前后加上两个下划线。
修改如下:
参考链接:
class Person:
# 下面的构造方法里前后是两个下划线
def __init__(self,name,age,ty):
self.name=name
self.age=age
self.ty=ty
def detail(self):
print("I am {},age {}, blood type {}.".format(self.name,self.age,self.ty))
person_1 = Person("张三",'18','A')
person_1.detail()
person_2 = Person("李四",'73','AB')
person_2.detail()
person_3 = Person("杨五",'84','A')
person_3.detail()
回答引用chatgpt:
class Person:
def __init__(self, name, age, occupation):
self.name = name
self.age = age
self.occupation = occupation
def detail(self):
print(f"Name: {self.name}")
print(f"Age: {self.age}")
print(f"Occupation: {self.occupation}")
print()
# 示例用法
person1 = Person("John", 25, "Engineer")
person2 = Person("Emily", 30, "Teacher")
person1.detail()
person2.detail()
首先,构造方法是Python类中特殊的方法,它用于在创建实例时初始化对象的属性。 以下是一个示例代码:
class Person:
def __init__(self, name, age, profession):
self.name = name
self.age = age
self.profession = profession
在上面的代码中,我们定义了一个名为Person的类,并且定义了一个构造方法__init__()。它有三个参数name、age和profession,用于分别初始化每个人的特定属性。
接下来,我们需要编写detail方法来输出每个实例的信息。以下是一个示例代码:
class Person:
def __init__(self, name, age, profession):
self.name = name
self.age = age
self.profession = profession
def detail(self):
print("Name:", self.name)
print("Age:", self.age)
print("Profession:", self.profession)
在上面的代码中,我们添加了一个名为detail()的方法,它没有任何参数,用于输出每个实例的信息。可以看到,我们可以使用“self”关键字来访问对象的属性,以便输出信息。
最后,我们可以使用以下代码创建实例并打印每个实例的信息:
person1 = Person("Jack", 25, "IT specialist")
person1.detail()
person2 = Person("Lily", 30, "Engineer")
person2.detail()
这段代码将创建两个实例person1和person2,并向它们提供特定的参数。然后,它将调用每个实例的detail()方法来输出其信息。
需要注意的是,为了能够生成docx文件,我们可以使用Python-docx库。可以通过以下方式安装:
pip install python-docx
使用Python-docx库,我们可以使用以下代码创建文档并将实例信息保存到文档中:
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading('Person Information')
person1 = Person("Jack", 25, "IT specialist")
document.add_paragraph("Name: " + person1.name)
document.add_paragraph("Age: " + str(person1.age))
document.add_paragraph("Profession: " + person1.profession)
person2 = Person("Lily", 30, "Engineer")
document.add_paragraph("Name: " + person2.name)
document.add_paragraph("Age: " + str(person2.age))
document.add_paragraph("Profession: " + person2.profession)
document.save('persons.docx')
在上面的代码中,我们创建了一个名为“Person Information”的标题,并创建了两个实例person1和person2。然后,我们将每个实例的属性添加到docx文档的段落中,并将文档保存为persons.docx。
希望这些代码和提示能够帮助你了解如何使用Python编写构造方法并初始化每个人的特定属性,以及如何编写detail方法来输出每个实例的信息。