0、什么是类与对象:
类:具有相同特征或者行为的一个群体;
对象:个体
类:模型(造对象)
对象:模型生出来(造出来)具体的东西。
1、实例属性和类属性的区别:
1)类属性:所有的成员都是一样的
实例属性:不是每个成员都一样
2)类属性,可以被实例、对象访问
实例属性,不可以被类获取
2、实例方法和类方法的区别:
实例方法,实例具备的,类不一定具备。类不能调用实例方法。
实例方法:第一个参数规定是self;实例方法调用时是对象调用
类方法,类具备的,实例可以获取;
在方法的上面添加@classmethod;实例方法中第一个参数规定cls
静态方法:放在类里面的函数;
在方法上面添加@staticmethod;放在类里面的普通函数,方便管理
3、__init__
是对象的初始化过程。通常在里面定义实例属性。
实例属性的值通过参数传递进来。
参数必须赋值给实例属性 self.name = 参数
才能通过实例调用
4、cls, self
只能在类里面使用,cls表示类里面的类;self表示类里面的对象。
附带代码:
class Man:# 定义类属性gender = "男"power = "强"def __init__(self, face_shape, name):# 对象初始化过程 在类里面定义实例属性 self.属性 =self.face = face_shapeself.name = name# 静态方法@staticmethoddef mood():print("今天心情真好")return "去郊游"# 类方法@classmethoddef eat(cls):print("吃东西")def drink(self, brand):print("{}要喝{}酒".format(self.name, brand))def play_game(self):pass# 类方法调用
print(Man.eat())# 实例方法调用
tom = Man("圆脸", "汤姆")
tom.drink("茅台")# 静态方法调用
print(Man.mood())
print(tom.mood())
作业:
类和对象 2 1、定义一个登录的测试用例类LoginTestCase 登录url地址为:"http://www.xxxx.com/login" 请求方法为:"post" 、 请自行分辨下列属性,应该定义为类属性还是实例属性 - 属性:用例编号 url地址 请求参数 请求方法 预期结果 实际结果2. 简述类方法和实例方法,静态方法3. 简述类属性和实例属性4. 定义一个手机类, 1. 具有打电话和录音的方法 2. 打电话的时候可以录音,也可以不录音。(方法调用其他方法)5. 定义一个 ExcelHandler 类,所有方法不需要实际操作实现(不需要你真的去打开 excel, 不需要你真的把数据读出来。我们练习的是定义类的思维。)1. 初始化传入 文件路径。 2, 定义打开 excel 方法。 3. 定义获取 sheet 表格方法,根据 名称获取。 4. 定义读取 sheet 表格数据的方法。 (读取需要先打开,再获取表格。) 5, 定义关闭文件方法。
上期答案:
# 1, 建立一个 demo.py 文件。 # 获取该文件的绝对路径; # 在同级目录下建立一个 1 文件夹; # 在 1 文件夹下建立一个 cases.txt 文件。 """ import os# 老师讲解: # 获取当前文件的路径 current_path = os.path.abspath(__file__) # 获取目录路径 dir_path = os.path.dirname(current_path)# 判断是否有data data_dir = os.path.join(dir_path, "data") if not os.path.exists(data_dir):os.mkdir(data_dir)txt_path = os.path.join(data_dir, "cases.txt") with open(txt_path, "w") as f:pass """# 2. 类属性和实例属性的区别是什么?? # 类属性和实例属性的区别:类属性是类里面的对象都具有的属性;实例属性是该实例特有的属性。# 3. 类属性如何定义? class PerfectMan:gender = "男"strong = "很强"height = "大于165cm"PerfectMan.favor = "射击"# 4. 封装一个学生类,(自行分辨定义为类属性还是实例属性) # 属性:身份(学生),姓名,年龄,性别,英语成绩,数学成绩,语文成绩, 职责。 # 如果是类属性请提前定义, # 如果是实例属性请初始化以后添加这个属性的值。class Students:identity = "students"student = Students() student.name = "华华" student.sex = "女" student.age = 18 student.sores = {"英语": 98, "数学": 100, "语文": 96} student.duty = "班长"# 5. 给你生活中遇到的 3 种事物分别定义 3 个类,并分别添加几个类属性。class Dog:identity = "animal"character = "忠诚"class Cat:identity = "animal"character = "温柔粘人"class Tool:function = "帮助人处理一些事务"