| Fabriek Object-georiënteerde currying voor Python |
Download nu |
Fabriek Rangschikking & Samenvatting
- Naam uitgever:
- Peter Fein
- Uitgever website:
- http://code.google.com/u/peter.fein/
Fabriek Tags
Fabriek Beschrijving
Object-georiënteerd currying voor Python Fabriek is een objectgeoriënteerde aanpak van de gedeeltelijke functieaanvraag, ook bekend als currying. Het is een krachtiger implementatie van dit patroon. Gebruik van fabrieken kan: * het schrijven van het schrijven van callbacks * Verminder insecten in gelijktijdige toepassingen * Geef eenvoudige luie evaluatie over curryingCurrying creëert een nieuwe functie van een bestaande door enkele van de argumenten van het origineel te binden: >>> DEF ADDER (X, Y): ... RETURN X + Y >>> Add_Lambda = Lambda Y: Adder (1, Y) >>> Add_Lambda (10) 11As van Python 2.5, dit patroon is ingebouwd met de gedeeltelijke functie. >>> add_partial = functools.partiaal (opteller, 1) >>> add_partial (y = 10) 11Fectoriesfactories zijn een betere implementatie van het curryingpatroon: >>> van fabriek importeren * >>> add_factory = fabriek (adder, x = 1 ) >>> add_factory #doctest: + ellipsis >>> add_factory (y = 10) 11UNLIKE LAMBDAS EN PARTIAL, fabrieken kunnen worden geïnspecteerd en gewijzigd: >>> add_factory.x1 >>> add_factory.x = 2 >>> add_factory ( y = 10) 12De argumenten die aan de functie zouden worden doorgegeven, kunnen worden onderzocht, wat soms nuttig is in debugging: >>> import pprint >>> args, kwargs = add_factory.generatea RGS (Y = 10) >>> pprint.pprint (KWARGS) {'X': 2, 'Y': 10} >>> Args [] Hier zijn enkele belangrijke functies van "Factory": · Veiliger, omdat ongeldige argumenten onmiddellijk worden gedetecteerd, in plaats van op gesprekstijd · Intelligente ondersteuning voor klassen, instantie-methoden en alle andere callleutels · Gebonden argumenten kunnen worden geïnspecteerd en gewijzigd als attributen · Verschillende handige methoden voor (her) bindende argumenten · Geen "Russische poppen" van geneste lambdas Vereisten: · Python
Fabriek Gerelateerde software