1. 类是通过class关键字来定义的:
class Student(object):
pass
Student表示类别,通常大写
object表示该类是从哪个类继承下来的;若无合适的类就用object类,这是所有类最终都会继承的类 。
2. 通过类创作实例,即通过类名+()实现得的:
bart = Student()
bart
<main.Student at 0x1cf9e85aa90>
bart指向Student的实例,地址在 0x1cf9e85aa90,每个实例的地址不一样
Student
<class ‘main.Student’>,Student本身就是一个类,Student()是一个实例
3.给实例绑定属性,即给实例bart绑定属性name
bart.name = 'Bart Simpson'
bart.name
‘Bart Simpson’
4.通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性q强制绑上去:
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
注意到__init__方法的第一个参数永远是self,表示创建的实例本身。因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
bar = Student('Bart Simpson1', 59)
bar.name
bar.score
输出分别为’Bart Simpson1’,59。。。。。在传入参数的时候只需要传入name,score等属性即可。
5.函数封装
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def print_score(self):###在上面的Student类中,每个实例就拥有各自的name和score这些数据。我们可以通过函数来访问这些数据,比如打印一个学生的成绩:
print('%s: %s' % (self.name, self.score))
bart=Student('Tom',18)
bart.print_score()
输出结果Tom: 18
class Student(object):
def __init__(self, name, score,age):
self.name = name
self.score = score
self.age = age
def get_grade(self):
if self.score >= 90:
return 'A'
elif self.score >= 60:
return 'B'
else:
return 'C'
lisa = Student('Lisa', 99,15)
bart = Student('Bart', 59,14)
print(lisa.name, lisa.get_grade(),lisa.age)
print(bart.name, bart.get_grade(),bart.age)
输出结果为:
Lisa A 15
Bart C 14
引自(https://www.liaoxuefeng.com/wiki/1016959663602400/1017496031185408)