其实面向对象是初学Python时已经了解了,现在又有些新的感悟,将其总结在此,有新的体会会继续总结的!
面向对象与过程
一、类和实例
类:英文名字Class,有“类别",“分类",“聚类"的意思。必须牢记类是用来描述具看相同屡性和方法的对象的模板,比如学生都有名字、分数,他们有着共同的属性。这时我们就可以设计一个学生类,用于记录学生的名字和分数
- 属性(Attribute):类里面用于描述所有对象共同特征的变量或数据。比如学生的名字和分数。
- 方法(Method):类里面的函数,用来区别类外面的函数,用来实现某些功能。比如打印出学生的名字和分数。
# 创建一个学生类
class Student:
# 定义属性,初始化方法
def __init__(self,name,score):
self.name = name
self.score = score
def show(self):
print('{} 的成绩为{}'.format(self.name,self.score))
# 创建实例化对象
zs = Student('bobo',100)
ju = Student('jayu',99)
zs.show()
bobo 的成绩为100
二、实例变量和类变量
假设我们需要在Student类里增加一个计数器number,每当一个新的学生对象(Object)被创建时,这个计数器就自动加1,由于这个计数器不属于某个具体学生,而属于Student类的,所以被称为类变量(Class variables),而姓名和分数属于每个学生对象的,所以属于实例变量(nstance variables),也被称为对象变量(object variables).
# 创建一个学生类
class Student:
# number 属于类变量,定义在方法外,不属于具体实例
number = 0
# 定义属性,初始化方法
def __init__(self,name,score):
self.name = name
self.score = score
# 访问类变量
Student.number = Student.number+1
def show(self):
print('{} 的成绩为{}'.format(self.nam