理解面向对象 谁调用基类 谁self.data里就被yaml中类 赋值

发布时间 2023-08-02 12:20:18作者: 胖豆芽
class BaseAPI: # 基类 相当于动物类 ;  登录 属于继承类,相当于老虎类
    # 属性
    def __init__(self,token=None):
        # 店铺类,订单类,支付模块等都需要使用token 所以过滤一下
        if token:# 如果接口需要token 店铺类,订单类,支付模块等都需要使用token
            self.header = {'Authorization':token}
        else:
            self.header=None
        # 获得yaml里的内容的 类的名称
'''
# configs包中的env.yaml 文件
Login:# 类的名字
login:
url: /account/sLogin
method: post
logout:
url: /account/sLogin
method: post
Shop:# 类的名字
query:
url: /shopping/myShop
method: GET
file:
url: /file
method: POST
update:
url: /shopping/updatemyshop
method: POST
'''

# 属性做赋值 self.data
        yaml_path = '../configs/env.yaml' 
self.data
= get_yaml(yaml_path)[self.__class__.__name__']

print(self.__class__.__name__)
#输出结果: BaseAPI
# 解释: 注意在BaseAPI 这个基类里调用 的时候 是BaseAPI


# 在继承的类,商店中 Shop 调用的时候 是Shop

# 在继承的类,登录中 Login 调用的时候 是Login

小贴士:

遇到不能理解的先写死数值  再理解;

面向对象就是一个方便多个人一起协调作业的过程,

这个例子中,谁调用基类,谁就被赋值yaml文件中的类