【发布时间】:2018-05-16 18:27:32
【问题描述】:
我正在学习 Python,并且在一般情况下进行真正的编程,我从更哲学的角度对某些事情感到好奇。具体来说,我想知道使类中的各个方法完全模块化或以某种方式相互依赖是否有意义。
例如,在我当前的用例中,我以一种依赖的方式使用类中的所有方法,这意味着一个方法的输出或返回值,然后用作下一个方法的参数。虽然在这种情况下,在下一个方法中直接调用该方法的值肯定会更容易,但我仍然使用泛型参数并以模块化方式对其进行编码,然后当我运行脚本时,我列出了一个有点长的依赖链命令调用它。我将举一个例子,因为我不确定我所说的是否有意义,但我想听听你们对此的看法。谢谢!!
类中两个方法的模块化示例:
def get_token(self, values, url):
self.values = values
self.url = url
tls_version = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
data = urllib.parse.urlencode(self.values).encode("utf-8")
req = urllib.request.Request(self.url, data)
res = urllib.request.urlopen(req, context=tls_version).read()
response_js = json.loads(res)
return response_js
def parse(self, json_block):
self.json_block = json_block
token = self.json_block['access_token']
inst_url = self.json_block['instance_url']
return token, inst_url
当我调用它时,它会产生一个很长的列表(即):
self.parse(get_token(values, url)) ... and this goes on as there are several other methods
当涉及到依赖示例时...它本质上看起来很相似,但它不允许指定参数,它只会使用从函数中的get_token() 检索到的数据。这将允许更短的方法并且更容易调用,但我担心这是错误的方法,因为它不允许多功能性。
非常感谢您对此事的任何意见!
【问题讨论】:
标签: python python-3.x class methods parameters