0

这可能是一个愚蠢的问题,但我在 docs.python.org 和 wx.python.org 上查看的所有文档都表明,对象的大多数 init 函数都采用以下形式: init(self、parent 等, ETC)

而且大多数对这些函数的调用都不会为自身或父级传递值。

所以:

  1. 如果没有传递任何值,这些值来自哪里,以及
  2. 我如何从类范围之外定义的函数中引用它们?

示例文件 1(PseudoClass.py):

class PseudoClass(someValidClass):
    def __init__(self, parent, title):
        someValidClass.__init__(self, parent, title)

在另一个文件中:

import PseudoClass
instance = PsedoClass('My Title')
def someFunction(instance):
    (x,y) = <<something which returns the self and parent values>>

总是使用它是否安全,我如何获得自我的指针?instance.parent

编辑:由于某种原因,代码块第一次没有工作..grr ..

编辑:好的,尽管我对如何提出这个问题深思熟虑,但我在提出问题和现在之间所做的研究表明,这个问题不适合我想知道的问题。另一方面,nneonneo 确实(至少部分地)回答了这里的问题。为了避免浪费其他人的时间来审查这个,我将其标记为已解决。

4

1 回答 1

1

请注意,在 Python 中,是(对于典型的方法调用)self左侧的对象,即实际调用. 因此,您始终可以通过仅使用实例本身来引用类外部。.foo.func(a,b)FooClass.func(foo, a, b)self

parent是一个不同的故事......AFAIK,它应该始终作为第一个参数传递给 wxPython 构造函数(除非派生类更改了该行为)。因此,这似乎不太PseudoClass('My Title')可能奏效。

于 2012-09-21T07:01:49.407 回答