gram około z listowych i natknąłem się na ten mały urywek na innym miejscu:Czego backticks znaczy interpreter Pythona: `num`
return ''.join([`num` for num in xrange(loop_count)])
Spędziłem kilka minut próbuje replikować Funkcja (przez wpisanie) przed wykonaniem bitu `num`
go zrywała.
Co robi załączanie instrukcji w tych znakach? Z tego, co widzę, jest to odpowiednik str (num). Ale kiedy planowane go:
return ''.join([str(num) for num in xrange(10000000)])
Zajmuje 4.09s natomiast:
return ''.join([`num` for num in xrange(10000000)])
trwa 2.43s.
Obie dają identyczne wyniki, ale jedna jest wolniejsza. Co tu się dzieje?
EDYCJA: Dziwnie ... repr()
daje nieco wolniejsze wyniki niż `num`
. 2,99 s vs 2,43 s. Korzystanie z Pythona 2.6 (jeszcze nie próbowałem wersji 3.0).
Po przeczytaniu "innej strony" na http://skymind.com/~ocrow/python_string/, miałem podobne pytanie i znalazłem tę stronę. Ładne pytanie i miła odpowiedź :) – netvope