いくつかの人物オブジェクトを作成し、それらのオブジェクトにいくつかのメソッドを適用した以下の部分があります。
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))
このプログラムを実行すると、これが出力になります-
構文エラー:無効な構文
しかし、以下のコードを使用して実行すると、問題はありません。
if __name__ == '__main__':
bob = Person('Bob Smith', 40, 30000, 'software')
sue = Person('Sue Jones', 30, 40000, 'hardware')
people = [bob,sue]
print(bob.lastname())
sue.giveraise(.10)
print(sue.pay)
2つの場合の違いは何ですか