[python] Přetěžování metod v Pythonu

Petr Nesladek petr.nesladek na seznam.cz
Pondělí Září 1 12:55:33 CEST 2008


> 
> DM> A jak si mam potom vysvetlit vetu:
> DM> This is Python's approach to operator overloading, allowing
> DM> classes to define their own behavior with respect to language
> DM> operators.
> 
> No tahle veta uz moc podle me komplikuje pretezovani. Kdyz se
> rozhoduju na zaklade nazvu parametru co budu provadet, nenazval bych
> to pretezovanim. Myslim si, ze podobnost s pretezovanim dle C uz uplne
> vymizela. Ja chtel jen jednoduse napsat, ze pretezovani metod, ktere
> se provadi v C se v pythonu provadi pretezovanim argumentu metod.
> ---------------------------------------------------------------------------

Myslím, že to není tak úplně mimo od přetěžování - pokud se budeme bavit o přetěžování metod,

to co řeší C klasickým přetěžováním metody - tj několik metod se setjným jménem a jiným počtem a jinými typy argumentů,
řeší python pomocí již u kolegů uvedené konstrukce 

def a( *args, **kvrags):

a definicí co se má v kterém případě a s kterým argumentem dělat řeší tělo jediné metody - to je ten hlavní rozdíl - a to co bylo myšleno tím "Python approach..."

, že má každý přístup své pro a proti myslím netřeba rozebírat - nechci vyvlolat flamewar 
(pokud to pomohlo pochopení - OK, jinak mne prosím opravte - ale nekamenovat -prosím :-))

a operator overloading by byla asi samostatná kapitola - ale na tu se necítím - to radějněkdo zkušenější

Petr






Další informace o konferenci Python