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)
解决:修改一下构造函数和调用方法