home contents changes options help subscribe edit
===============================================================
Guido van Rossum: Python in New York
                  Part II -- State of the Python Universe, 2006
===============================================================
Google New York's Technical Speaker Series.
Guido van Rossum giving his Python presentation
at the New York Google office on Wednesday, February 22nd 2006.
http://video.google.com/videoplay?docid=60331183357868340
===============================================================

Část II -- Stav pythonovského vesmíru, 2006

Guido van Rossum přednáší v prostorách firmy Google ve středu 22. února 2006.

Jde o část přednášky, která bude v plném znění přednesena na PyCon 2006.

Python 2.5

Co tam bude nového

Absolutní/relativní import

Někdy nastanou situace, kdy jméno interního modulu (uvnitř balíčku, tedy podadresáře) koliduje s jménem standardního modulu. Podle pravidel se nejdříve hledá interní modul, což ale brání možnosti použití standardního modulu.

Řešení spočívá v oddělení syntaxe pro absolutní a relativní import. Nová syntaxe vede k zpětné nekompatibilitě, takže se bude povolovat explicitně přes __future__. Příklady:

import foo            # hledá se JEN v sys.path
from . import foo     # hledá se JEN v aktuálním balíku
from .. import foo    # hledá se v rodičovském balíku
from .bar import foo  # hledá se v balíku bar
from ..bar import foo # hledá se v sourozenci balíku bar

atd. Povolen je libovolný počet úvodních teček.

Podmíněné výrazy

try/except/finally znovu spojenci

Momentálně nelze používat finally a except dohromady. GvR měl kdysi potíže s implementací a současné použití se mu jevilo v některých případech nejednoznačné. Java ukázala, že tam žádná nejednoznačnost není.

Kdysi dříve Python konstrukci:

try:
    BLOK1
except:
    BLOK2
finally:
    BLOK3

... umožňoval, ale tato možnost byla u novějších verzí odstraněna. Po revizi bude tento syntaktický zápis znovu povolen.

Vylepšení generátorů

Inspirace případy použití generátorů pro vstup/výstupní operace. Inspirace jazykem Ruby.

with

Netriviální záležitost, trocha magie; with jako blok, správce kontextu (@contextmanager), zpracování výjimek.

Mutex jako inspirace i jako první kandidát pro využití with.

Revidované výjimky

__index__

Nový protokol: "Pokud objekt reprezentuje index v nestandardní reprezentaci, pak __index__() převádí tuto nestandardní reprezentaci na standardní integer". Motivace pochází s oblasti numerických výpočtů.

Překladač založený na abstraktních syntaktických stromech

Týká se vlastností implementace, nikoliv vlastností jazyka.

Téměř se ho podařilo vypustit už v souvislosti s 2.4, ale nebyl doladěný a blížil se naplánovaný termín vypuštění verze.

ssize_t

Opět záležitost implementace. ssize_t odpovídá celočíselnému znaménkovému typu, který zabírá stejný počet bajtů jako ukazatel v jazyce C. To znamená, že například u 64bitového kódu reprezentuje větší čísla, než typ long v jazyce C.

-m <package>.<module>

Přímé spuštění modulu v balíku. Využije se například při spouštění regresních testů Pythonu, které jsou součástí jeho zdrojových textů.

Novinky v knihovně 2.5

(konec)




subject:
  ( 118 subscribers )