当我试图打印格式表达式的结果时,为什么Python认为我在做模运算?

当我试图打印格式表达式的结果时,为什么Python认为我在做模运算?,python,eclipse,class,python-3.x,Python,Eclipse,Class,Python 3.x,我试图在Eclipse中使用PyDev创建一个类,但当我尝试以Python运行时,我得到一个错误:TypeError:不支持%的操作数类型:'NoneType'和'int' 我试图选择所有文本,然后在源代码菜单下选择正确的缩进,但在Eclipse中找不到该选项 如何在Python 3中解决此问题 以下是转录自的代码: 你没有缩进问题 您使用三个空格来缩进,而不是四个空格。这对于Python来说不是问题,但Eclipse认为应该使用四行,并在其下放置波浪线。如果您无法让Eclipse解决这个问题,

我试图在Eclipse中使用PyDev创建一个类,但当我尝试以Python运行时,我得到一个错误:TypeError:不支持%的操作数类型:'NoneType'和'int'

我试图选择所有文本,然后在源代码菜单下选择正确的缩进,但在Eclipse中找不到该选项

如何在Python 3中解决此问题

以下是转录自的代码:


你没有缩进问题


您使用三个空格来缩进,而不是四个空格。这对于Python来说不是问题,但Eclipse认为应该使用四行,并在其下放置波浪线。如果您无法让Eclipse解决这个问题,只需使用四个空格即可。

不,缩进问题不是您的问题,您打印信息的方式是

在Python3中,print现在是一个函数,它在完成时返回None,然后对None应用一些运算符,从而产生异常

我注意到,您正试图使用%运算符来指定格式化开始的时间,从而实现旧式的字符串格式化—不鼓励在Python 3中使用此运算符

下面是您如何克服它的:使用您想要格式化的参数。它是位置性的,因此多个大括号将格式化多个参数

例如:

def displayEmployee(self):
    print ("Name: {}, Salary: {:d}".format(self.name, self.salary))

这是最复杂的打印语句;我觉得您可以从这里获得其余内容。

问题是您必须在输入所有参数之前关闭打印函数,您应该执行以下操作: 打印员工总数%d%Employee.empCount
def displayEmployee(self):
    print ("Name: {}, Salary: {:d}".format(self.name, self.salary))
print ("Name:"), self.name, "Salary: ", self.salary
print ("Name:", self.name, "Salary: ", self.salary)