从其他python文件调用函数

从其他python文件调用函数,python,function,class,object,attributes,Python,Function,Class,Object,Attributes,我需要显示存储到列表中的值的结果。该列表存储在一个类中的一个类中,该类在另一个文件中是安全的 基本上,在另一个文件中,为了返回值,我使用了以下代码: ... def __init__(self): self.employee_list = [] def addEmployee(self, name, number, years_worked,salary): newEmployee = employee.Employee(name,number,years_worked,sal

我需要显示存储到列表中的值的结果。该列表存储在一个类中的一个类中,该类在另一个文件中是安全的

基本上,在另一个文件中,为了返回值,我使用了以下代码:

...
def __init__(self):
    self.employee_list = []

def addEmployee(self, name, number, years_worked,salary):
    newEmployee = employee.Employee(name,number,years_worked,salary)
    self.employee_list.append(newEmployee)

def printEmployee(self):
    for eachEmployee in self._employee_list:
        print("Name",name)
        print("Number",number)
        print("Years Worked", years_worked)
        print("Salary:", salary)
(这些值还会发送到另一个文件,该文件包含与员工相关的类和属性)

然后,在主文件上,为了调用函数printEmployee来显示所有数据,我写了以下内容:

from staff import Staff
mystaff = Staff()
print("Welcome to my Staff Management Program")
print(choices)

elif choice == "D":
    for emp in mystaff.employee_list:
        print(emp)
这表明:

<employee.Employee object at 0x02A2F6B0>

我能帮忙吗?
非常感谢。

看起来您应该使用
printEmployee
而不是手动打印:

...
elif choice == "D":
    mystaff.printEmployee()
结果:

Welcome to my Staff Management Program
Enter your choice:D
Employee Name: Monty, Number: 007, Years worked: 13, Salary: 50000
Employee Name: Max, Number: 008, Years worked: 3, Salary: 30000
Employee Name: Ana, Number: 009, Years worked: 7, Salary: 70000

您应该尝试通过继承来实现这一点。在您的情况下,这是正确的方法。

不知何故,您的第一段代码看起来并不正确。它看起来像一个类,但缺少类定义,缩进不正常。对不起,我复制粘贴了错误的代码。请现在检查:)代码太大了,这就是为什么我想剪切一些与此问题不相关的代码。@Ana请检查答案,以便如果没有帮助,我可以修改它。它不起作用,它显示:回溯(最近一次调用):文件“C:\Users\SOFIA\Desktop\New folder\main.py”,第35行,在mystaff.printEmployee()文件“C:\Users\SOFIA\Desktop\New folder\staff.py”的第21行中,为self中的每个员工打印employee。员工列表:AttributeError:'staff'对象没有属性'\uEmployee\uList'>>>>修复这一行:
为self中的每个员工。员工列表:
上为self中的每个员工设置
。员工列表:
Welcome to my Staff Management Program
Enter your choice:D
Employee Name: Monty, Number: 007, Years worked: 13, Salary: 50000
Employee Name: Max, Number: 008, Years worked: 3, Salary: 30000
Employee Name: Ana, Number: 009, Years worked: 7, Salary: 70000