所以我有两个文件User.py,包含用户类和UserInformation.py,用于处理创建的所有用户的列表。 为什么我无法从UserInformation.py列表中访问用户数据。 User.py:
class User(object):
name = ""
age = 0
def __init__(self, name, age):
self.name = name
self.age = age
def toString(self):
print("Name: " + self.name + ", Age: " + str(self.age))
和UserInformation.py
import User
listOfUsers = []
def addUser(User):
listOfUsers.append(User)
def listUsers(User):
x = 0
while x < len(listOfUsers):
listOfUsers[x].toString()
x= x+1
为什么我无法打印用户对象有什么问题?
答案 0 :(得分:0)
这里的问题是文件和类都被称为User
。 import User
仅导入文件(模块)。要导入类,您需要执行以下操作:
from User import User
虽然我会调用文件user.py
(小写)以避免这种混淆(我也会将函数的参数称为不同的函数)。
答案 1 :(得分:0)
您需要为您希望存储在class
User
list
的实例
示例:
from User import User
list_of_users = []
def add_user_to_list(User_instance):
list_of_users.append(User_instance)
def list_users():
x = 0
while x < len(list_of_users):
list_of_users[x].toString()
x= x+1
def alternative_list_users():
for user in list_of_users:
user.toString()
def new_user(name, age):
my_user_instance = User(name, age)
add_user_to_list(my_user_instance)
def main():
while True:
name = input('user name ? ')
if name == 'stop':
break
age = int(input('user age ? '))
new_user(name, age)
list_users()
#alternative_list_users()
if __name__ == '__main__':
main()