2

私は段階的にPythonを学んでいます。今日はオブジェクト指向プログラミングについてです。簡単なクラスを作成して使用する方法は知っていますが、何かが気になります。Python で使用するオブジェクトのほとんどは、コンストラクターを呼び出す必要はありません。

これはどのように機能しますか?それとも、コンストラクターは暗黙的に呼び出されますか? 例:

>>> import xml.etree.ElementTree as etree    
>>> tree = etree.parse('examples/feed.xml')  
>>> root = tree.getroot()                    
>>> root
<Element {http://www.w3.org/2005/Atom}feed at cd1eb0>

( http://www.diveinto.org/python3/xml.html#xml-parseから)

私はこのように行っていたでしょう(実際には機能します):

>>> import xml.etree.ElementTree as etree 
>>> tree = etree.ElementTree() # instanciate object
>>> tree.parse('examples/feed.xml')

自分のプロジェクトでこのプログラミング方法を使用したいのですが (コンストラクターを呼び出さないか、少なくとも暗黙的に呼び出します)、実際にどのように機能するかわかりません。

ありがとう

4

4 に答える 4

1

という名前のクラスの場合、暗黙を呼び出すClassNameと、 の新しいインスタンスが呼び出されて返されます。ClassName()__init__()ClassName

__init__が で定義されていない場合ClassName、スーパー__init__が呼び出されます。

あなたの場合、これはすべて関数内にあります:

def name(foo):
    return ClassName(foo)

n = name("bar") # a function call returns a new instance
于 2013-06-20T14:28:48.147 に答える