熟悉Android UI交互的码友都知道,匿名类是非常好用的。基于定义基类或现有类,通过继承父类和实例化匿名类的方式,就可以简单快速构建本地数据和域外数据的交互的桥梁。在本地定义实例化的匿名类内,可以轻松调用本地的全局变量,从而实现不同域的数据交换。一般的域间数据交换,可以通过传参的方式实现。但是,对于多次连续的域间交互,这种方式就显得见肘捉襟。或者说,这是根本不可能的,因为传参方式是单向的,无法实现交互式的数据交换。
基于此种情况,匿名类刚好补足这个空白。不巧的是,Python在这方面还没有实现。但是,这并不妨碍通过完善的语法法则来尽可能实现匿名类的功效。
Python语法规则中,可以在同一py文件内定义多个类。同一py文件意味着在同一上下文context中。这样,在多个类实例中想要调用同一变量,可以将其定义为global全局变量。
"""
@author: MR.N
@created: 2020-09-19 23:12
@file: a.py
"""
val = []
class A:
def __init__(self):
pass
def do(self):
B().do()
global val
item = None
if len(val) > 0:
item = val[0]
return item
class B:
def __init__(self):
pass
def do(self):
global val
val.append(