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的开头,或者这是否是一个好主意,取决于所有这些变量实际意味着什么,以及它们如何组合在一起. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |