构造函数调用及返回值问题

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)

  

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

原文地址:https://www.cnblogs.com/come202011/p/12283636.html