anc*_*evv 0 django django-views
我正在浏览django教程,我想知道当你在views.py中有两个同名函数时会发生什么?
例如:
def results(request, poll_id):
p = get_object_or_404(Poll, pk=poll_id)
return render_to_response('polls/results.html', {'poll': p})
def results(request, poll_id):
return HttpResponse("You're looking at the results of poll %s." % poll_id)
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,底部函数是被调用的函数.这是如何运作的?
在Python中,方法和函数可以使用任意数量的参数; 这使得不需要使用不同的功能"签名"来支持传递的不同类型的参数; 这是函数重载的常见用例.见4.7.3.任意参数在python文档中列出.
调用第二个方法的原因是,当您使用相同的名称(和相同的参数列表)定义方法定义时,只需覆盖它.对于python,它与以下内容相同:
>>> x = 1
>>> x = 'Hello'
>>> print x
Hello
Run Code Online (Sandbox Code Playgroud)
您只是再次重新定义了相同的方法,因此它使用了最后一个定义.
| 归档时间: |
|
| 查看次数: |
771 次 |
| 最近记录: |