Programinė detalės:
Versija: 0.83
Įkėlimo datą: 20 Feb 15
Licencija: Nemokamai
Populiarumas: 0
XHPy tęsiasi Python sintaksė taip, kad XML fragmentai tapo galioja Python išraiškas.
Privalumai
& Nbsp; * Paprastumas: parašyti UI logika paprasta, išraiškinga sintaksė be išorės šablonų ar šablonų kalbų poreikį.
& Nbsp; * Lankstumas: naudoti Python posakiai laisvai XHPy žymeles, ir atvirkščiai.
& Nbsp; * Apsauga: naudos iš automatinio pabėgti nuo teksto XHPy žymes.
& Nbsp; * pakartotinis: sukurti daugkartinio naudojimo komponentus sukuriate X: elementas.
pavyzdys
Be bar.py:
nuo xhpy.init importo register_xhpy_module
register_xhpy_module ("foo")
importo foo
Be foo.py:
nuo xhpy.pylib importo *
klasė: ui: foo (X: elementas):
& Nbsp; atributas sąrašas baras
& Nbsp; laipsnio% srautas
& Nbsp; def padaryti (si):
& Nbsp; =
& Nbsp; B self.getAttribute ("baras"):
& Nbsp; a.appendChild (
& Nbsp; sugrįžti
Spausdinti
Dabar galime paleisti bar.py kaip normalus Python scenarijų:
$ Python bar.py
- 0
- 1
- 2 dalis
Sveikiname! Jūs tiesiog parašė savo pirmąjį fragmentą XHPy.
Sintaksė
XHPy prideda naują sintaksę į Python. Eilutė po eilutės pakartojimo metu!
nuo xhpy.init importo register_xhpy_module
Tai inicijuoja XHPy ir leidžia registruotis moduliai turi būti aiškinama kaip XHPy.
register_xhpy_module ("foo")
Dabar foo modulis foo.py bus aiškinama kaip XHPy kai importuojama. Jei foo buvo paketas, visos jos submodules taip pat bus įregistruotas; tai naudinga UI bibliotekas registruodamiesi.
importo foo
Norėdami iš tikrųjų naudoti XHPy Tačiau, jūs tikriausiai norite pagrindinę biblioteką:
nuo xhpy.pylib importo *
Dabar jūs turite prieigą prie visų standartinių HTML 4.0 elementai, X: elementas pagrindinės klasės (tai, kas jums sukurti pasirinktinius komponentus ant!), O kai komunalinių.
klasė: ui: foo (X: elementas):
Padaryti naujų komponentų yra paprasta: tiesiog poklasis: x: elementas. Dėl jūsų komponentas klasė turi būti įregistruotas, jis privalo pradėti: - tai aiškiai atskiria savo komponentus iš paprastų Python klases.
priskirti sąrašas baras
Tai požymis deklaracija, o tai reiškia, kad: ui: foo leidžia baras atributai
vėliau - kaip XHP, XHPy naudoja XML atributo sintaksė.
Kategorija% srautas
Tai laipsnio deklaracija -: ui: foo yra dalis% srauto kategorijas. Kategorijos pirmiausia naudingas kaip nustatyti elementus, kurie yra panašūs nenaudojant paveldėjimo būdu; Pavyzdžiui, <> tag pylib.html turi
vaikai (pcdata |% srautas) *
nurodant, kad jos vaikai, turi arba būti teksto arba gali būti iš% srauto kategorijas. (Taigi, mes galime įdėti
Def padaryti (si):
Kai spausdinate X: elementas (arba skambinkite g juo), teikti () metodas remiasi; tai kur jūs įtraukėte savo UI logiką.
=
už B self.getAttribute ("baras"):
& Nbsp; a.appendChild (
grįžti
Čia
- , kuri leidžia jums statyti netvarkingai sąrašą iš Python'o sąrašą. Standartiniai HTML elementai, pavyzdžiui,
- yra automatiškai suteiktas - išskyrus, kad XHPy, galite naudoti Python išraiškas per žymes, kad
{B}
yra pakeičiamas b vertei. Atkreipkite dėmesį į getAttribute () ir appendChild () naudoti:
self.getAttribute ("baras")
ima iš atributo baro vertę (šiuo atveju intervalas (3)), o
a.appendChild ( - {b} )
- {B} kaip =
- Python
- ir
prideda
XHPy daugiausia pagrįsta ne XHP; gauti daugiau informacijos apie pastarąją, pamatyti `XHP wiki
& Nbsp; * XHPy klasės pavadinimai gali būti naudojamas bet kur paprastųjų Python klases gali;
& Nbsp; * XHPy žymės ignoruoti vidaus tarpus, tačiau turi išorės paklusti įdubimas ir linija papildomus taisykles.
Daugiau apie pastarąjį punktą:
Def foo (href):
& Nbsp; grąža >
Def baras (href):
& Nbsp; sugrįžti
& Nbsp;
galioja, o
Def foo (href):
& Nbsp; sugrįžti
& Nbsp;
& Nbsp; >
nėra, nes ji pristato papildomą dedent po >.
Kaip tai veikia
Kai tu
importo xhpy.init
XHPy įdiegia importo kablys. Šis kablys spąstus vėlesni importo pareiškimai, veikia juos per preprocesoriaus kad suvokia spėjimo superset. Tai Preprocesorius verčia XHPy žymes ir klasės vardus galiojantį Python, tada paleidžia išverstą kodą modulio taikymo sritį.
Tai yra panašus į tai, kaip XHP darbai, išskyrus:
& Nbsp; * su, pvz, pythonenv, jūs visada galite naudotis XHPy net be prieigos prie visos sistemos Python paketas montavimo katalogų;
. & Nbsp; * pagal nutylėjimą, Python kaupia bytecode .pyc failus iš jūsų modulių, todėl pirminio apdorojimo reikia padaryti kartą, kai modulis pirmasis importuojami tik
Reikalavimai :
Komentarai nerastas