我一直在阅读一些fortran项目源代码。 Fortran子例程可以接受'in'和'out'变量,这样就可以指定子例程中变量的变化。例如,
subroutine Foo(A, B, C)
real*8; intent(in)::A
real*8; intent(out)::B
real*8; intent(out)::C
当我call Foo(A ,B ,C)
时,我知道A
,B
,C
可能会在子例程中发生变化。
但是,我通常以这种方式编写python代码:
class Foo(object):
def __init__(self):
self.a = 1
self.b = 2
def method_a(self):
self.a = (self.a)**2
def method_b(self):
self.b = (self.b)**2
在我的主程序中
foo=Foo()
foo.method_a()
foo.method_b()
print(foo.a)
如果我不熟悉此代码,则很难跟踪foo.a
发生的情况,因为我不知道是否有任何方法更改foo.a
。
那么,如何让我的python代码更容易跟踪对象属性?
编辑:我必须澄清一下,我有比fortran更多的python经验。我的问题是如何使源代码更容易让读者跟踪对象属性。