Python大函数许多变量(重构)
发布时间:2020-12-20 12:23:07 所属栏目:Python 来源:网络整理
导读:我的脚本中有一个很大的函数,它包含我程序的大部分逻辑. 有一次,它曾经跨过约100行,然后我试图将其重构为多个较小的函数.但是,我有许多局部变量最终在较小的函数中被修改,我需要一些方法来跟踪它们在较大函数的范围内. 例如,它看起来像 def large_func(): x
|
我的脚本中有一个很大的函数,它包含我程序的大部分逻辑.
有一次,它曾经跨过约100行,然后我试图将其重构为多个较小的函数.但是,我有许多局部变量最终在较小的函数中被修改,我需要一些方法来跟踪它们在较大函数的范围内. 例如,它看起来像 def large_func(): x = 5 ... 100 lines ... 至 def large_func(): x = 6 small_func_that_will_increment_x() small_func() .... 什么是pythonic方式来处理这个? 我能想到的两种方法是: 1)全局变量—由于我有很多变量,可能会变得混乱 tracker = {
'field1' : 5
'field2' : 4
}
而是在dict上进行修改. 有没有不同的方法可以忽略我做到这一点? 解决方法
没有更多信息,很难知道这是否合适,但……
对象是命名空间.特别是,您可以将每个局部变量转换为对象的属性.例如: class LargeThing(object):
def __init__(self):
self.x = 6
def large_func(self):
self.small_func_that_will_increment_x()
self.small_func()
# ...
def small_func_that_will_increment_x(self):
self.x += 1
self.x = 6是属于__init__还是属于large_func的开头,或者这是否是一个好主意,取决于所有这些变量实际意味着什么,以及它们如何组合在一起. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
