类与对象D13

本文详细介绍了类、对象的概念,以及实例属性和类属性、实例方法和类方法的区别。通过实例代码展示了如何定义类、对象的初始化过程,以及如何区分不同类型的属性和方法。同时给出了登录测试用例类和手机、ExcelHandler类的设计示例。
摘要由CSDN通过智能技术生成

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_shape
        self.name = name

    # 静态方法
    @staticmethod
    def mood():
        print("今天心情真好")
        return "去郊游"

    # 类方法
    @classmethod
    def 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 = "帮助人处理一些事务"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值