Python 3.x 如何按以下方式打印值?

Python 3.x 如何按以下方式打印值?,python-3.x,Python 3.x,错误:打印(“员工:{0.name}\t ID:{0.ID}\t工资总额:{0.calculate}”。格式(self)) NameError:未定义名称“self” 我希望程序以以下方式打印它: 员工:Rupali ID:134工资总额:45677 怎么做?您的打印语句格式错误。阅读 您的打印语句格式错误。阅读 您混合了不同类型的字符串格式。尝试: class Parent(object): def __init__(self, name, id, basic_salary):

错误:打印(“员工:{0.name}\t ID:{0.ID}\t工资总额:{0.calculate}”。格式(self)) NameError:未定义名称“self”

我希望程序以以下方式打印它: 员工:Rupali ID:134工资总额:45677
怎么做?

您的打印语句格式错误。阅读


您的打印语句格式错误。阅读


您混合了不同类型的字符串格式。尝试:

class Parent(object):
    def __init__(self, name, id, basic_salary):
        self.name = name
        self.id = id
        self.basic_salary = basic_salary

    def calculate(self):
        return (0.1 * self.basic_salary) + (0.2 * self.basic_salary) + self.basic_salary


class Child(Parent):
    pass


c = Child("Rupali", 134, 34567)
print("Employee : {} \t ID : {} \t Gross Salary : {}".format(c.name,c.id,c.calculate()))
这利用了Python3.6的新特性

如果您没有使用Python3.6,那么可以使用另一个答案的
.format
方法

请记住,您可以重写类的
\uu str\uu
方法来为您执行此操作

c = Child("Rupali", 134, 34567)
print(f"Employee : {c.name} \t ID : {c.id} \t Gross Salary : {c.calculate()}")

# Employee : Rupali      ID : 134    Gross Salary : 44937.1

您混合了不同类型的字符串格式。尝试:

class Parent(object):
    def __init__(self, name, id, basic_salary):
        self.name = name
        self.id = id
        self.basic_salary = basic_salary

    def calculate(self):
        return (0.1 * self.basic_salary) + (0.2 * self.basic_salary) + self.basic_salary


class Child(Parent):
    pass


c = Child("Rupali", 134, 34567)
print("Employee : {} \t ID : {} \t Gross Salary : {}".format(c.name,c.id,c.calculate()))
这利用了Python3.6的新特性

如果您没有使用Python3.6,那么可以使用另一个答案的
.format
方法

请记住,您可以重写类的
\uu str\uu
方法来为您执行此操作

c = Child("Rupali", 134, 34567)
print(f"Employee : {c.name} \t ID : {c.id} \t Gross Salary : {c.calculate()}")

# Employee : Rupali      ID : 134    Gross Salary : 44937.1

你为什么写
0.name
?你为什么写
0.name