[python] MySQL - nativn� rozhran� pro Python
Tomas Brabenec
konference na brabenec.net
Pondělí Červen 30 11:31:59 CEST 2008
Taky diky za polopaticke vysvetleni.
Tomas
On 30.6.2008 10:03, Filip Štědronský wrote:
> On Po, čen 30, 2008 at 08:04:02 +0200, zu1234 wrote:
>
>> Mohl by, prosím, někdo začátečníkovi vysvětlit po-lopatě pojem 'wraper'.
>>
> Dobrý den,
>
> wrapper je doslava přeloženo "obal", tedy sada funkcí/
> tříd/metod/čehokoliv, která zapouzdřuje jinou sadu funkcí
> /metod/tříd/čehokoliv, poskytuje k ní jiné rozhraní. Je
> běžné, že když se píší moduly pro Python zapouzdřující
> existující (Cčkové, nativní, kompilované) knihovny, jako
> je GTK, MySQL client library, etc., napíše se v C (pomocí
> Python-C API, což je nevyhnutelné, neb není jiný způsob,
> jak propojit dynamický svět Pythonu s kompilovaným Cčkovým
> okolím jen jednoduchý obal Cčkovských funkcí, často 1:1
> mapování C funkcí na Pythonské, protože psát moduly v C
> není dvakrát jednoduché.
>
> Ale jakmile je rozhraní knihovny jednou Pythonu
> zpřístupněno (byť ve své Cčkové ošklivosti) pomocí tohoto
> wrapperu, který obaluje původní funkce určitými rozhraními
> potřebnými k tomu, aby je šlo volat z Pythonu, není
> problém napsat další, vysokoúrovňový, objektový obal přímo
> v Pythonu (to již je snadné), který zapouzdřuje před
> uživatelem tyto jednoduché funkce a nabízí konzistentní a
> příjemné rozhraní. Taktéž se toho používá pro skrývání
> implementačních rozdílů (stejné rozhraní postavené nad
> několika různými moduly, např. zmíněné DB API)
>
> Doufám, že to pomůže.
> Filip Štědronský
>
>
>
Další informace o konferenci Python