在 Python class 之外初始化实例变量
Initialize instance variables outside of Python class
编辑
在评论中建议继承,但这已经完成,我添加了额外的代码片段来展示。
在 __init__
之外有一些类似的初始化实例变量的问题,其中实例变量在另一个 def
函数(方法)内的 class 中进一步初始化。这个问题不是那些问题的重复。
我有三个 classes 都在 def __init__
:
之后声明相同的 self.xxxx
实例变量
class AskQuestion(simpledialog.Dialog):
""" Prepends "\n" to text passed.
Appends "\n\nAre you sure?\n" to text passed.
Allows text to be highlighted and copied to clipboard with CTRL+C.
Blocks other windows from getting focus
MON_FONTSIZE is temporary font size until configuration file set up.
"""
def __init__(self, parent, title=None, text=None, confirm='yes',
align='center', thread=None, icon='warning'):
self.confirm = confirm # Append "Are you sure?" line?
self.align = align # data (text lines) alignment
self.thread = thread # The thread run before button click
self.loop_no = 1 # Loop counter (not used yet)
self.data = text # data (text lines) for text box
self.text = None # Textbox widget
self.icon = icon # Warning, Error, Info, Question icons
try:
self.font = (None, MON_FONTSIZE)
except NameError:
self.font = (None, 10)
# Shared functions
self.wait_window = wait_window_func
#self.body = body(self, parent)
#self.body = body
simpledialog.Dialog.__init__(self, parent, title=title)
如何将这些代码行拆分成一个调用初始化变量的全局函数?我正在寻找一种类似于 bash .
(source 命令)或 C #include
命令的技术,除了变量不会来自另一个文件,只是一个全局函数当前文件(模块)。
仅供参考,我正在寻找 tkinter simpledialog class ShowInfo、AskQuestion、AskString 等包装器的一致性和代码减少
在您的 classes 共享初始化方法的情况下,您可以通过继承它们来减少代码,就像这样
class A(B):
其中B是父class,同样根据问题你可以继承多个classes,像这样
class A(B,C):
我提供一个通用的答案以避免与评论中的讨论相同
编辑
在评论中建议继承,但这已经完成,我添加了额外的代码片段来展示。
在 __init__
之外有一些类似的初始化实例变量的问题,其中实例变量在另一个 def
函数(方法)内的 class 中进一步初始化。这个问题不是那些问题的重复。
我有三个 classes 都在 def __init__
:
self.xxxx
实例变量
class AskQuestion(simpledialog.Dialog):
""" Prepends "\n" to text passed.
Appends "\n\nAre you sure?\n" to text passed.
Allows text to be highlighted and copied to clipboard with CTRL+C.
Blocks other windows from getting focus
MON_FONTSIZE is temporary font size until configuration file set up.
"""
def __init__(self, parent, title=None, text=None, confirm='yes',
align='center', thread=None, icon='warning'):
self.confirm = confirm # Append "Are you sure?" line?
self.align = align # data (text lines) alignment
self.thread = thread # The thread run before button click
self.loop_no = 1 # Loop counter (not used yet)
self.data = text # data (text lines) for text box
self.text = None # Textbox widget
self.icon = icon # Warning, Error, Info, Question icons
try:
self.font = (None, MON_FONTSIZE)
except NameError:
self.font = (None, 10)
# Shared functions
self.wait_window = wait_window_func
#self.body = body(self, parent)
#self.body = body
simpledialog.Dialog.__init__(self, parent, title=title)
如何将这些代码行拆分成一个调用初始化变量的全局函数?我正在寻找一种类似于 bash .
(source 命令)或 C #include
命令的技术,除了变量不会来自另一个文件,只是一个全局函数当前文件(模块)。
仅供参考,我正在寻找 tkinter simpledialog class ShowInfo、AskQuestion、AskString 等包装器的一致性和代码减少
在您的 classes 共享初始化方法的情况下,您可以通过继承它们来减少代码,就像这样
class A(B):
其中B是父class,同样根据问题你可以继承多个classes,像这样
class A(B,C):
我提供一个通用的答案以避免与评论中的讨论相同