class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def get_grade(self):
if self.score >= 90:
return 'A'
elif self.score >= 60:
return 'B'
else:
return 'C'
s1 = Student("wangxin",100)
print(s1.get_grade())
__init__方法是构造函数,也叫构造方法!
self相当于实例化对象!构造函数中传入两个属性name和socre,这两个属性在创建对象时就会自动实例化!实例化的好处是,再你创建对象的时候,可以直接在括号里面赋值给属性,例如:
s1 = Student("wangxin",100)
s1就是Student类的一个实例化,在创建的过程中直接传入“wangxin”,100两个参数,那么我们后面可以直接对象名.属性名调用这个属性!
get_grade是类中的函数!我们把它叫做方法,类中的方法可以在创建对象中直接调用,且类中的方法必须传入self参数!
Python如何给self赋值以及为何你不需要给它赋值。举一个例子会使此变得清晰。假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。