我觉得是时候开始上课了。我有这样结构的文件。而且我无法访问在 init 中设置的变量,该怎么办?我的结构是否正确?现在描述为多功能的是三个功能,其中两个可以独立工作,所以我认为将它们放在类中是一件好事,这样我就可以轻松地在另一个项目中使用它们。函数在类的末尾执行。
class args:
def __init__(self):
args = self.get_args()
self._old = args.old
self._new = args.new
self._xml = args.xml
@staticmethod
def get_args():
pass #too long to bother here
@property
def old(self):
return self._old
@property
def new(self):
return self._new
@property
def xml(self):
return self._xml
class update:
def __init__(self, print_dict = False):
self.print_dict = print_dict
def dict_of_glyph_order(old, new):
pass
def update_VTT_g_order(xml, glyph_id_dict, print_dict):
if self.print_dict:
print('%03d == %03d' %(int(glyph_id), int(new_id)), end=', ')
def save_new_xml(xml, tree):
pass
args = args()
dict_of_glyph_order = dict_of_glyph_order(args.old, args.new)
tree = update_VTT_g_order(args.xml, dict_of_glyph_order, self.print_dict) #variable called here
save_new_xml(args.xml, tree)
if __name__ == '__main__':
update()
答案 0 :(得分:0)
首先,您缺少类的名称,其次,您在init方法中声明了要使用的变量,该方法只需要在self中加上从外部获取的变量在class()中,其他辅助方法可能需要声明其他变量,例如,如果您要使用来自类外部,自身的变量。为了声明和使用您在类内部任何地方使用的任何变量是强制性的,您可以拥有仅在一种方法中存在的局部变量(如果需要),但是只能在init中声明类变量,最终,类中的所有内容都必须在方法,init或其他方法中,该类本身不是方法,它更像是您定义的自定义变量tipe并为其提供了内置方法,并且必须使用已定义的tipe变量才能使用其功能。
class Some_name: #no space allowed just underscore in the name
def __init__(self,print_dict):
self.print_dict = print_dict
def one_of_multiple_functions(some other variable):
#the thing you want it to do
示例:
A=Some_name(print_dict)
A.one_of_multiple_functions(some other variable) #in order to use the method
如果您想要更好的轴示例,请尝试SoloLearn,它是一款移动应用程序,可以教您任何流行编程语言的基础。