class Foo(object):
def __init__(self):
self._bar = None # Bar is an important "private" member
self._baz = None # As is baz
self._fizzbuzz = 4 # Of course, you can also provide defaults here
class foo( object ):
"""
This is a foo.
_a is foo's a; there are many like it but this one is foo's.
_b is foo's b and demons may fly out of your nose if you modify it.
"""
def __init__( self ): ...
你说得对,Python是一种不同的编程模型。要理解的是,在Python中,当您看到以下内容时:
它不是真正的“类声明”。它更像是一个“类创建”。在解释器到达
class..
行的瞬间,而不是之前,一个类对象被创建并准备就绪。关于这个类对象的一点是,它基本上对它的实例一无所知。你知道吗类唯一有权访问实例(数据成员通常在实例上)的时间是它实际通过方法运行的时间。此语法:
很有趣。显式的第一个参数是一种暗示,表明正在发生一些不同的事情。没错:当你写
instance.bar(x)
时,真正发生的是Foo.bar(instance, x)
。你知道吗这意味着
Foo
获取实例的唯一机会是使用方法。你知道吗因此,如果您想要一个显式类模型,最好的办法是在
__init__
方法中显式地列出它。你知道吗如果我在这里偏离了基准,我希望得到纠正——但这是我目前理解Python的方式。你知道吗
可以使用docstring(三重引号字符串)作为类或方法中的第一个语句;最接近docstring标准格式的语句被指定为PEP 257。你知道吗
相关问题 更多 >
编程相关推荐