Dalam Python, kaedah overloading berbeza daripada kaedah overriding. Untuk melebihkan kaedah, anda boleh menggunakan satu fungsi dengan nilai argumen lalai.
<code class="python">class A: def stackoverflow(self, i='some_default_value'): print('only method') ob = A() ob.stackoverflow(2) # prints 'only method' ob.stackoverflow() # prints 'only method' with 'some_default_value'</code>
Walau bagaimanapun, Python 3.4 memperkenalkan fungsi generik penghantaran tunggal untuk menyediakan mekanisme lebihan muatan kaedah yang lebih komprehensif.
<code class="python">from functools import singledispatch @singledispatch def fun(arg, verbose=False): print(arg) @fun.register(int) def _(arg, verbose=False): print(arg) @fun.register(list) def _(arg, verbose=False): for i, elem in enumerate(arg): print(i, elem)</code>
Menggunakan pendekatan ini, anda boleh mengendalikan jenis hujah yang berbeza dengan pelaksanaan tertentu sambil mengekalkan satu fungsi.
Atas ialah kandungan terperinci Bagaimana Python Mengendalikan Kaedah Lebih Muatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!