有老师能分析下原理吗

class WeWork(BaseApi):
def init(self):
self.token = Util().get_token()
self.params[“token”] = self.token
with open(“…/api/wework.yaml”, encoding=“utf-8”) as f:
self.data = yaml.load(f)
def test_create(self, userid, mobile, name=“柯南”, department=None):
“”"
创建成员
https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=ACCESS_TOKEN
:return:
“”"

  self.params["userid"] = userid
  self.params["mobile"] = mobile
  self.params["name"] = name
  self.params["department"] = department
  return self.send(self.data["create"])

class BaseApi:
params = {}

def send(self, data):
# pytest test_wework.py::TestWework::test_create
raw_data = json.dumps(data)
for key, value in self.params.items():
raw_data = raw_data.replace(“${”+key+“}”, value)
data = json.loads(raw_data)
return requests.request(**data).json()

具体是哪行代码不懂呀

2个点。第一params = {},这个在每个def test()里都是作用一次吗?第二raw_data = raw_data.replace("${"+key+"}", value)这个替换的意思不太能理解

这个是类变量,在类被定义的时候只执行一次。所有实例默认包含一份复制 self.params,虽然名字一样,但是不同。所以不会重复执行的。

其实就是替换 ${var}为想要的目标值。var是可能有不同的名字。所以才用这种变量方式拼接。