这段代码的最后一部分到底做了什么?为什么self.name等于name?这是下面的代码:
class Shark:
def __init__(self, name):
self.name = name
def swim(self):
print(self.name + " is swimming.")
def be_awesome(self):
print(self.name + " is being awesome.")
def main():
sammy = Shark("Sammy")
sammy.be_awesome()
stevie = Shark("Stevie")
stevie.swim()
if __name__ == "__main__":
main()
Firs部分问题已在此处回答
第二个问题name
是创建类实例时传递的参数。然而,self.name
是一个实例变量。该值设置为name
。点击这里阅读更多关于python类的信息
代码的最后一部分:
if __name__ == "__main__":
main()
简单地说,当这个特定的脚本作为入口点文件运行时,它将执行main()
函数。如果内容由另一个脚本导入,它将忽略if
语句。
self.name = name
将输入变量name
分配给类的实例变量,在这种情况下,它也称为name