wangqing 2020-05-05
一.类和对象
- 类是现实世界或思维世界的实体在计算机中的反映
- 它将数据以及这些数据上的操作封装在一起
- 把类比作一个模版,通过这个模版可以产生很多个对象
二.构造函数
$ vim s3.py class Student(): name = ‘‘ age = 0 def do_homework(self): print(‘homework‘) student1 = Student() student2 = Student() student3 = Student() print(id(student1)) print(id(student2)) print(id(student3)) #执行 #python2.7 s3.py 4305810496 4305810640 4305810712 说明:使用student 这个模版来创建对象,student模版创建不同的对象;
Step 1.在实例化后几个对象不相同
1.在Student定义__init__函数,与其他函数不同的是__init__是固定,也称为构造函数 $ vim s4.py class Student(): name = ‘‘ age = 0 def __init__(self): print(‘student‘) def do_homework(self): print(‘homework‘) student1 = Student() #执行 说明:打印结果是student,也就是None $ python2.7 s3.py student 2.实现不同对象,__init__()不但可以定义self,还可以定义name,age 等,以此来达到不同对象
Step 2.实例变量与类变量
说明:类变量只是和类关联一起的;实例变量是和对象关联在一起的
1.实例变量 和 类变量导致打印结果为空值 class Student(): name = ‘‘ age = 0 def __init__(self,name,age): print(‘student‘) name = name age = age def do_homework(self): print(‘homework‘) student1 = Student(‘小明‘,18) print(student1.name) # 执行 $ python2.7 s3.py student 2.保存特征值 class Student(): name = ‘‘ age = 0 def __init__(self,name,age): print(‘student‘) self.name = name self.age = age def do_homework(self): print(‘homework‘) student1 = Student(‘小明‘,‘18‘) print(student1.name) #执行(已成功打印) $ python2.7 s3.py 小明 说明:使用self来保存特征值,这两段代码实际上是定义了两个实例变量,与类无关,和对象相关 self.name = name self.age = age 3.同时打印类的变量 # coding=utf-8 class Student(): name = ‘yunming‘ age = 0 def __init__(self,name,age): #print(‘student‘) self.name = name self.age = age def do_homework(self): print(‘homework‘) student1 = Student(‘小明‘,18) print(student1.name) print(Student.name) //打印类变量 #执行 #python2.7 s3.py 小明 yunming
推荐:黑河SEO