首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从其他文件python调用函数

从其他文件python调用函数
EN

Stack Overflow用户
提问于 2014-12-01 19:32:00
回答 2查看 102关注 0票数 0

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

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

代码语言:javascript
复制
...
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来显示所有数据,我编写了以下代码:

代码语言:javascript
复制
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)

Is显示了以下内容:

代码语言:javascript
复制
<employee.Employee object at 0x02A2F6B0>

能帮我一下吗?非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2014-12-01 19:54:51

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

代码语言:javascript
复制
...
elif choice == "D":
    mystaff.printEmployee()
票数 0
EN

Stack Overflow用户

发布于 2014-12-02 10:16:21

代码语言:javascript
复制
class Employee:  
    def __init__(self):
        self.employee_list = []

    def addEmployee(self, name, number, years_worked,salary):
        newEmployee = [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)

emp_obj = Employee()
emp_obj.addEmployee('Monty', '007', '13', '50000')
emp_obj.addEmployee('Max', '008', '3', '30000')
emp_obj.addEmployee('Ana', '009', '7', '70000')


from m1 import Staff
mystaff = Staff()
print("Welcome to my Staff Management Program")
choice = raw_input("Enter your choice:")

if choice == "D":
    mystaff.employee_list = emp_obj.employee_list
    for emp in mystaff.employee_list:
        print("Employee Name: {}, Number: {}, Years worked: {}, Salary: {}").format(emp[0],emp[1],emp[2],emp[3],)

结果:

代码语言:javascript
复制
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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27227488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档