Tipy pro programování

10 nejlepších a užitečných tipů, jak urychlit svůj kód v Pythonu

10 nejlepších a užitečných tipů, jak urychlit svůj kód v Pythonu

Pokud se vás někdo zeptá - „Co je teď nejrychleji rostoucí programovací jazyk na světě?„Odpověď bude jednoduchá. Jeho krajta. Celosvětová popularita je způsobena jeho jednoduchou syntaxí a bohatými knihovnami. S pythonem dnes můžete dělat téměř cokoli: datová věda, strojové učení, zpracování signálu, vizualizace dat - pojmenujete to. Mnoho lidí však tvrdí, že python je při řešení závažných problémů trochu pomalý. Ale čas na provedení programu závisí na kódu, který člověk napíše. Pomocí několika tipů a triků lze zrychlit kód Pythonu a zvýšit výkon programu.

Tipy a triky k urychlení kódu Pythonu


V případě, že hledáte způsoby, jak urychlit svůj pythonový kód, je tento článek právě pro vás. Ilustruje techniky a strategie ke zkrácení doby provádění programu. Tipy nejen zrychlí kód, ale také zlepší dovednosti v pythonu.

01. Použijte vestavěné knihovny a funkce


Python má spoustu knihovních funkcí a modulů. Jsou napsány odbornými vývojáři a byly několikrát testovány. Tyto funkce jsou tedy vysoce efektivní a pomáhají urychlit kód - není třeba psát kód, pokud je funkce již k dispozici v knihovně. V tomto ohledu si vezmeme jednoduchý příklad.

# code1 newlist = [] pro slovo ve starém seznamu: nový seznam.připojit (slovo.horní())
# code2 newlist = mapa (str.horní, starý seznam)

Zde je druhý kód rychlejší než první kód, protože byla použita mapovací funkce knihovny (). Tyto funkce jsou užitečné pro začátečníky. Kdo nechce psát rychlejší, stejně jako čistý a menší kód? Proto co nejvíce používejte funkce a moduly knihovny.

02. Správná datová struktura na správném místě


Použití správné datové struktury sníží dobu běhu. Před spuštěním musíte přemýšlet o datové struktuře, která bude použita v kódu. Dokonalá datová struktura zrychlí kód pythonu, zatímco ostatní jej zkazí. Musíte mít představu o časové složitosti různých datových struktur.

Python má vestavěné datové struktury, jako je seznam, n-tice, množina a slovník. Lidé jsou zvyklí používat seznamy. Existují však případy, kdy n-tice nebo slovník fungují mnohem lépe než seznamy. Chcete-li se dozvědět více datových struktur a algoritmů, musíte projít učebnice Pythonu.

03. Try pro minimalizaci použití pro Smyčka


Je docela těžké se použití vyhnout pro smyčka. Ale kdykoli máte šanci tomu zabránit, odborníci říkají, že to děláte. Smyčka for je v pythonu dynamická. Jeho runtime je více než chvíli smyčky. Vnořené pro smyčku je mnohem časově náročnější. Dvě vnořené smyčky zaberou čtverec času v jedné smyčce for.

# code1 pro i ve big_it: m = re.hledat (r '\ d 2 - \ d 2 - \ d 4', i) pokud m:… 
# code2 date_regex = re.kompilace (r '\ d 2 - \ d 2 - \ d 4') pro i v big_it: m = date_regex.hledat (i) pokud m:… 

V tomto případě je lepší použít vhodnou náhradu. Navíc pokud pro smyčky jsou nevyhnutelné, přesuňte výpočet mimo smyčku. Ušetří to spoustu času. Vidíme to na příkladu uvedeném výše. Zde je druhý kód rychlejší než první kód, protože výpočet byl proveden mimo smyčku.

04. Vyhněte se globálním proměnným


Globální proměnné se v pythonu používají v mnoha případech. K jeho deklaraci se používá globální klíčové slovo. Běh těchto proměnných je ale více než místní proměnné. Při použití méně z nich ušetříte zbytečné využití paměti. Kromě toho Python nabírá lokální proměnnou rychleji než globální. Při navigaci v externích proměnných je Python skutečně pomalý.

Několik dalších programovacích jazyků je proti neplánovanému používání globálních proměnných. Počítadlo je způsobeno vedlejšími účinky vedoucími k vyšší době běhu. Pokuste se tedy použít lokální proměnnou místo globální, kdykoli je to možné. Kromě toho můžete před použitím ve smyčce vytvořit místní kopii, což šetří čas.

05. Zvýšit využívání porozumění seznamu


Seznam s porozuměním nabízí kratší syntaxi. Je to hrst, když je nový seznam vytvořen na základě existujícího seznamu. Smyčka je nutností v každém kódu. Někdy se syntaxe uvnitř smyčky zvětší. V takovém případě lze použít porozumění seznamu. Můžeme si vzít příklad, abychom tomu porozuměli přesněji.

# code1 square_numbers = [] pro n v rozsahu (0,20): pokud n% 2 == 1: square_numbers.připojit (n ** 2)
# code2 square_numbers = [n ** 2 pro n v rozsahu (1,20), pokud n% 2 == 1]

Zde druhý kód trvá méně času než první kód. Přístup k porozumění seznamu je kratší a přesnější. U malých kódů to nemusí dělat velký rozdíl. Ale při rozsáhlém vývoji vám může ušetřit nějaký čas. Takže použijte seznamové porozumění, kdykoli budete mít příležitost zrychlit svůj kód v Pythonu.

06. Nahraďte rozsah () znakem xrange ()


Otázka rozsahu () a xrange () přichází, pokud používáte python 2. Tyto funkce se používají k iteraci čehokoli ve smyčce for. V případě range () uloží všechna čísla v rozsahu do paměti. Ale xrange () uloží pouze rozsah čísel, která je třeba zobrazit.

Návratový typ range () je seznam a návratový typ range () je objekt. Nakonec xrange () zabere méně paměti a ve výsledku méně času. Kdykoli je to možné, použijte místo rozsahu () xrange (). To je samozřejmě použitelné pouze pro uživatele pythonu 2.

07. Použijte generátory


V pythonu je generátor funkcí, která vrací iterátor, když se volá výtěžek klíčového slova. Generátory jsou vynikajícím optimalizátorem paměti. Vracejí jednu položku najednou, místo aby vraceli všechny najednou. Pokud váš seznam obsahuje značný počet dat a potřebujete používat vždy jen jedna data, použijte generátory.

Generátory počítají data po částech. Funkce proto může při vyvolání vrátit výsledek a zachovat svůj stav. Generátory zachovávají stav funkce zastavením kódu poté, co volající vygeneruje hodnotu, a pokračuje v běhu z místa, kde je na žádost ponecháno.

Vzhledem k tomu, že generátory přistupují a vypočítávají hodnotu na vyžádání, významná část dat nemusí být uložena úplně do paměti. Výsledkem je značná úspora paměti a nakonec zrychlení kódu.

08. Zřetězit řetězce pomocí spojení


Zřetězení je při práci s řetězci docela běžné. Obecně v pythonu spojujeme pomocí '+'. V každém kroku však operace „+“ vytvoří nový řetězec a zkopíruje starý materiál. Tento proces je neefektivní a trvá hodně času. Pokud chceme zrychlit náš kód v Pythonu, musíme zde použít join () ke zřetězení řetězců.

# code1 x = "I" + "jsem" + "a" + "python" + "geek" tisk (x)
# code2 x = "".join (["I", "am", "a", "python", "geek"]) print (x)

Podíváme-li se na příklad, první kód vytiskne „Iamapythongeek“ a druhý kód vytiskne „Jsem pythonový geek“.  Operace join () je efektivnější a rychlejší než '+'. Udržuje také čistý kód. Kdo nechce rychlejší a čistší kód? Zkuste tedy místo '+' použít join () ke zřetězení řetězců.

09. Vytvořte si profil


Profilování je klasický způsob optimalizace kódu. Existuje mnoho modulů pro měření statistik programu. Dávají nám vědět, kde program tráví příliš mnoho času a co je třeba udělat pro jeho optimalizaci. Aby byla zajištěna optimalizace, proveďte některé testy a vylepšete program tak, aby se zvýšila účinnost.

Časovač je jedním z profilerů. Můžete jej použít kdekoli v kódu a najít dobu běhu každé fáze. Poté můžeme program vylepšit tam, kde to trvá příliš dlouho. Kromě toho je zde zabudovaný modul profileru s názvem LineProfiler. Poskytuje také popisnou zprávu o spotřebovaném čase. Existuje několik profilerů, které se můžete naučit čtením knih v pythonu.

10. Nechte se aktualizovat - použijte nejnovější verzi Pythonu


Existují tisíce vývojářů, kteří pravidelně přidávají další funkce do pythonu. Moduly a funkce knihoven, které dnes používáme, budou zítra zastaralé. Vývojáři Pythonu dělají jazyk rychlejší a spolehlivější ze dne na den. Každá nová verze zvýšila svůj výkon.

Musíme tedy knihovny aktualizovat na nejnovější verzi. Python 3.9 je nyní nejnovější verzí. Mnoho knihoven pythonu 2 nemusí na python3 běžet. Mějte to na paměti a vždy používejte nejnovější verzi, abyste dosáhli maximálního výkonu.

Nakonec Insights


Hodnota vývojářů Pythonu na světě se každým dnem zvyšuje. Tak na co čekáš! Je nejvyšší čas, abyste se začali učit urychlovat kód pythonu. Tipy a triky, které jsme poskytli, vám jistě pomohou při psaní efektivních kódů. Pokud je budete sledovat, můžeme doufat, že svůj kód vylepšíte a přejdete do pokročilejších věcí v pythonu.

Pokusili jsme se ukázat všechny hlavní triky a tipy, které jsou nutné pro urychlení kódu. Doufáme, že článek zodpověděl většinu vašich otázek. Nyní je zbytek na vás. Neexistuje však žádný konec poznání a žádný konec učení. Pokud jsme tedy něco zásadního zmeškali, dejte nám vědět. Šťastné učení!

Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...
Hry Nejlepší linuxové distribuce pro hraní her v roce 2021
Nejlepší linuxové distribuce pro hraní her v roce 2021
Operační systém Linux má za sebou dlouhou cestu od svého původního, jednoduchého vzhledu založeného na serveru. Tento OS se v posledních letech nesmír...
Hry Jak zachytit a streamovat vaši herní relaci v systému Linux
Jak zachytit a streamovat vaši herní relaci v systému Linux
V minulosti bylo hraní her považováno pouze za koníček, ale postupem času došlo v herním průmyslu k obrovskému nárůstu z hlediska technologie a počtu ...