<ol>
<li><p>语法<code>radius = 1</code>指定了一个参数“radius”,其默认值为<code>1</code>:</p>
<blockquote>
<blockquote>
<blockquote>
<p>def my_func(param=1):
... print(param)
...
my_func() #uses the default value
1
my_func(2) #uses the value passed
2</p>
</blockquote>
</blockquote>
</blockquote></li>
</ol>
<p>请注意,在python中存在更多种类的参数:位置参数和关键字参数,或两者兼而有之。在</p>
<p>通常可以使用位置符号和关键字来指定参数:</p>
<pre><code>>>> def my_func(a,b,c):
... print (a,b,c)
...
>>> my_func(1,2,3)
(1, 2, 3)
>>> my_func(1,2,c=3)
(1, 2, 3)
</code></pre>
<ol>
<li>Python使用“显式”实例传递,因此第一个<code>self</code>参数用于传递调用方法的实例。您可以将<code>self</code>看作是Java的<code>this</code>。但必须始终使用它来访问实例属性/方法。你不能只调用<code>area()</code>,你必须说<code>self.area()</code>。在</li>
</ol>
<p>当您<code>self.attribute = 1</code>时,您将使用值<code>1</code>创建一个新属性<code>attribute</code>,并将其分配给实例<code>self</code>。因此在<code>area()</code>方法中,<code>self.radius</code>引用<code>self</code>实例的<code>radius</code>属性。在</p>
<p><code>__init__</code>方法是一种特殊的方法。它类似于构造器。
在实例化类时调用它。Python有很多这样的“特殊方法”,例如在使用操作符<code>+</code>时调用方法<code>__add__(self, other)</code>。在</p>