下面这篇文章创建了一些person对象,并对这些对象应用了一些方法。在
class Person:
def __init__(self, name, age, pay=0, job=None):
self.name = name
self.age = age
self.pay = pay
self.job = job
def lastname(self):
return self.name.split()[-1]
def giveraise(self,percent):
return self.pay *= (1.0 + percent)
if __name__ == '__main__':
bob = Person('Bob Smith', 40, 30000, 'software')
sue = Person('Sue Jones', 30, 40000, 'hardware')
people = [bob,sue]
print(bob.lastname())
print(sue.giveraise(.10))
一旦我运行这个程序,这就是输出--
语法错误:无效语法
但当我使用下面的代码运行时,我没有任何问题
^{pr2}$两种情况有什么区别
即使在第二个版本中也会出现无效语法错误;我不知道您是如何使它工作的,但是您必须更改了
giveraise
函数。在Python中,赋值,包括那些使用*=
这样的赋值,是语句,而不是表达式;它们没有值。因为它们没有值,所以从函数返回它们是没有意义的,因此会出现错误。在*=
是赋值,赋值是Python中的语句,而不是表达式。尝试:在这两种情况下我都有问题:
将其更改为这个,它将工作:
^{pr2}$我不完全确定Python为什么抛出语法错误,但我知道这是可行的。在
相关问题 更多 >
编程相关推荐