类和对象
*【类】是【对象】的模版
有了图纸,可以批量制造物品。可以以“类”为模版,生成多个【实例对象】。
【实例化】:指从【类】变成【实例对象】的过程
示例1(多份成绩单录入):
class 成绩单():
def 录入成绩单(self):
self.学生姓名 = input('请输入学生姓名:')
self.语文_成绩 = int(input('请输入语文成绩:'))
self.数学_成绩 = int(input('请输入数学成绩:'))
def 打印成绩单(self):
print(self.学生姓名 + '的成绩单如下:')
print('语文成绩:'+ str(self.语文_成绩))
print('数学成绩:'+ str(self.数学_成绩))
成绩单1 = 成绩单() # 实例化,得到实例对象“成绩单1”
成绩单2 = 成绩单() # 实例化,得到实例对象“成绩单2”
成绩单3 = 成绩单() # 实例化,得到实例对象“成绩单2”
类的实例化
【实例化格式】 实例化后再使用和直接使用是不同的
示例2:
#直接使用格式
class 类A():
变量 1 = 100
变量 2 = 200
#此行留空
@classmethod #需要声明
def 函数1(cls): #默认参数为 cls
print(cls,变量1)
print(cls,变量2)
类A.函数1()
#实例化后再使用
class 类A():
变量 1 = 'abc'
#此行留空
def 函数1(self): #不需要@classmenthod声明;默认参数为self
print('已经完成了实例化!')
print('类属性的值是'+ self.变量1)
a = 类A() #先进行实例化;用【实例(变量)名=类()】的方式,为类创建一个实例
a.函数1() #实例化后再使用;用【实例(变量)名.函数】的方式调用对应的实例
b = 类A() #可以实例化多个不同的实例
b.函数1() #实例化后再使用
以上说明
a = 类A() 用【实例(变量)名=类()】的方式,为类创建一个实例
a.函数1() 用【实例(变量)名.函数】的方式调用对应的实例
示例3(多份成绩单录入):
#直接使用类
class 成绩单():
@classmethod
def 录入成绩单(cls):
cls.学生姓名 = input('请输入学生姓名:')
cls.语文_成绩 = int(input('请输入语文成绩:'))
cls.数学_成绩 = int(input('请输入数学成绩:'))
@classmethod
def 打印成绩单(cls):
print(cls.学生姓名 + '的成绩单如下:')
print('语文成绩:'+ str(cls.语文_成绩))
print('数学成绩:'+ str(cls.数学_成绩))
成绩单.录入成绩单()
成绩单.打印成绩单()
#实例化之后
class 成绩单(): # ①不用再写@classmethod
def 录入成绩单(self): # ②cls变成self
self.学生姓名 = input('请输入学生姓名:') # ③cls.变成self.
self.语文_成绩 = int(input('请输入语文成绩:'))
self.数学_成绩 = int(input('请输入数学成绩:'))
def 打印成绩单(self):
print(self.学生姓名 + '的成绩单如下:')
print('语文成绩:'+ str(self.语文_成绩))
print('数学成绩:'+ str(self.数学_成绩))
成绩单1 = 成绩单() # ④创建实例对象:成绩单1