Python 创建一个类的3个实例并存储不同的值
我想创建一个程序,它将创建一个类的3个实例,并为不同的人存储不同的值 我拥有的当前代码将输出最后一个人的信息。我不知道我是否正确设置了一个类,但任何帮助都是非常需要的Python 创建一个类的3个实例并存储不同的值,python,python-3.x,Python,Python 3.x,我想创建一个程序,它将创建一个类的3个实例,并为不同的人存储不同的值 我拥有的当前代码将输出最后一个人的信息。我不知道我是否正确设置了一个类,但任何帮助都是非常需要的 #Main module def main(): #Declare variables name = "" address = "" age = "" phoneNumber = "" person1Information = personalInformation(name, ad
#Main module
def main():
#Declare variables
name = ""
address = ""
age = ""
phoneNumber = ""
person1Information = personalInformation(name, address, age, phoneNumber)
person2Information = personalInformation(name, address, age, phoneNumber)
person3Information = personalInformation(name, address, age, phoneNumber)
#Person 1
name, address, age, phoneNumber = getPersonInformation(name, address, age, phoneNumber)
storePerson1Information(person1Information, name, address, age, phoneNumber)
#Person 2
name, address, age, phoneNumber = getPersonInformation(name, address, age, phoneNumber)
storePerson2Information(person2Information, name, address, age, phoneNumber)
#Person 3
name, address, age, phoneNumber = getPersonInformation(name, address, age, phoneNumber)
storePerson3Information(person3Information, name, address, age, phoneNumber)
#Display
displayInformation(person1Information, person2Information, person3Information)
#Ask for information
def getPersonInformation(name, address, age, phoneNumber):
name = str(input("What is this person's name?"))
address = str(input("What is the address for this person?"))
age = int(input("What is this person's age?"))
phoneNumber = str(input("What is their phone number?"))
return name, address, age, phoneNumber
#Add peron 1's information to class
def storePerson1Information(person1Information, name, address, age, phoneNumber):
person1Information.setName(name)
person1Information.setAddress(address)
person1Information.setAge(age)
person1Information.setPhoneNumber(phoneNumber)
return
#add peron 2's information to class
def storePerson2Information(person2Information, name, address, age, phoneNumber):
person2Information.setName(name)
person2Information.setAddress(address)
person2Information.setAge(age)
person2Information.setPhoneNumber(phoneNumber)
return
#Add person 3's information to class
def storePerson3Information(person3Information, name, address, age, phoneNumber):
person3Information.nameInformation = name
person3Information.addressInformation = address
person3Information.ageInformation = age
person3Information.phoneNumberInformation = phoneNumber
return
#Display the results
def displayInformation(person1Information, person2Information, person3Information):
print("Person 1's name:", person1Information.getName())
print("Person 2's name:", person2Information.getName())
print("Person 3's name:", person3Information.getName())
print("Person 1's age:", person1Information.getAge())
print("Person 2's age:", person2Information.getAge())
print("Person 3's age:", person3Information.getAge())
print("Person 1's address:", person1Information.getAddress())
print("Person 2's address:", person2Information.getAddress())
print("Person 3's address:", person3Information.getAddress())
print("Person 1's phone number:", person1Information.getPhoneNumber())
print("Person 2's phone number:", person2Information.getPhoneNumber())
print("Person 3's phone number:", person3Information.getPhoneNumber())
#Class holding variables and methods
class personalInformation(object):
#Declare vaibales
nameInformation = ""
addressInformation = ""
ageInformation = 0
phoneNumberInformation = ""
#Initialize?
def __init__(self, nameInformation, addressInformation, ageInformation, phoneNumberInformation):
self.nameInformation = nameInformation
self.addressInformation = addressInformation
self.ageInformation = ageInformation
self.phoneNumberInformation = phoneNumberInformation
#Modifiers
def setName(self, name):
nameInformation = name
return
def setAddress(self, address):
addressInformation = address
return
def setAge(self, age):
ageInformation = age
return
#Accessor
def setPhoneNumber(self, phoneNumber):
phoneNumberInformation = phoneNumber
def getName(self):
return self.nameInformation
def getAge(self):
return self.ageInformation
def getAddress(self):
return self.addressInformation
def getPhoneNumber(self):
return self.phoneNumberInformation
#Call main module
main()
基本上我认为你是对的。我不知道我的答案是否是你想要的,但我相信你所要做的就是这样: 代码:
这真的很简单而且有效。如果需要,可以在Personinit的定义中引入更多字段。这就是你想要的吗?你应该仔细阅读。您正在创建属于类的所有成员而不是每个成员的变量。您还应该并且应该学习如何使用同一组函数三次(针对三个人),而不是三次几乎相同的副本。是的,谢谢。我发现在调用getPersonInformation()函数后声明person1Information变量时,所有内容都显示正确。
class Person:
def __init__(self, name):
self.name = name
def setName(self, name):
self.name = name
def getName(self):
return self.name
def main():
person1 = Person("John")
person2 = Person("Fred")
person3 = Person("Paul")
print person1.name
print person2.name
print person3.name
main()