1.使用构造函数的意义在于:每次实例化一个对象时,都会去调用构造函数
2.在构造函数中调用实例函数a,就可以在实例化时传入a所需的参数,直接调用a。相比于先实例化一个对象,再用实例调用a函数,通过构造函数调用,在写法上会简单一些
测试遇到的问题:测试类中定义了构造函数,构造函数调用了其他实例方法,但是调用类以后没有得到预期的结果
import requests
import json
class RunMain:
def __init__(self, url, method, data=None):
res = self.run_main(url, method, data)
def send_get(self, url, para):
res = requests.get(url, para)
return res.json()
def send_post(self, url, data):
res = requests.post(url, data)
r = res.json()
return json.dumps(r, indent=2, sort_keys=True, ensure_ascii=False)
def run_main(self, url, method, data):
res = None
if method.upper() == "GET":
res = self.send_get(url, data)
elif method.upper() == "POST":
res = self.send_post(url, data)
else:
print("请输入正确的参数")
return res
if __name__ == "__main__":
url = "http://apis.juhe.cn/rubbish/search"
data = {"key": "6d9cc6b16d6cf63caded401b99c7311e",
"q": "奶茶",
"type": 2}
r = RunMain(url, "post", data)
print(r)

解决:修改一下构造函数和调用方法

