<p>是的,有道理!你知道吗</p>
<p>有一些方法可以做到这一点,其中之一是将<code>param3</code>作为可选设置,例如<code>param3 = None</code>,但这不是一种python方法。你知道吗</p>
<p>Pythonic的方法是使用<code>*args</code>和<code>**kwargs</code>概念,让我给你看一些例子!你知道吗</p>
<p>举例来说:</p>
<pre><code>#ex1:
def world_cup_titles(country, *args):
print('Country: ', country)
for title in args:
print('year: ', title)
world_cup_titles('Brasil', '1958', '1962', '1970', '1994', '2002')
#ex2:
def build_tuple(*args):
return args
message_tuple = build_tuple("hello", "planet", "earth", "take", "me", "to", "your", "leader")
print("Tipo: {} || Tupla: {}".format(type(message_tuple), message_tuple))
</code></pre>
<p>以**kwargs为例:</p>
<pre><code>def calculate_price(value, **kwargs):
tax_percentage = kwargs.get('tax_percentage')
discount = kwargs.get('discount')
if tax_percentage:
value += value * (tax_percentage / 100)
if discount:
value -= discount
return value
v1 = calculate_price(100)
print(v1)
v2 = calculate_price(10, discount=5.0)
print(v2 )
v3 = calculate_price(10, discount=5.0, tax_percentage=7)
print(v3)
</code></pre>
<p>所以你可以看到听起来更像Python,实际上这真的很容易!你知道吗</p>