Mnoho programátorů má Python rád pro jeho jednoduchou a stručnou syntaxi. Tyto recepty Pythonu jsou malé ukázkové programy, které můžete použít k řešení běžných každodenních problémů.

Použijte tyto snadno stravitelné recepty Pythonu a posuňte efektivitu kódování na další úroveň.

1. Extrahujte podmnožinu slovníku

Pomocí metody porozumění slovníku můžete extrahovat podmnožinu slovníku.

test_marks = {
'Alex': 50,
'Adam': 43,
'Eva': 96,
'Smith': 66,
'Andrew': 74
}

větší_než_60 = { klíč: hodnota pro klíč, hodnota v test_marks.items(), pokud hodnota > 60 }
tisknout (greater_than_60)

studenti = { 'Alex', 'Adam', 'Andrew'}
a_students_dict = { klíč: hodnota pro klíč, hodnota v test_marks.items() if key in students }
tisknout (a_students_dict)

Výstup:

{'Eva': 96, 'Smith': 66, 'Andrew': 74}
{'Alex': 50, 'Adam': 43, 'Andrew': 74}

2. Hledat a nahradit text

Jednoduchý textový vzor v řetězci můžete vyhledat a nahradit pomocí str.replace() metoda.

str = "Peter Piper si utrhl pecičku nakládané papriky"
str = str.replace("Piper", "Parker")
tisknout (str)

Výstup:

Peter Parker utrhl svačinu nakládaných paprik

Pro složitější vzory můžete použít sub() metoda z re knihovna. Regulární výrazy v Pythonu u komplikovaných vzorů je úkol mnohem jednodušší.

import re
str = "toto je název proměnné"
vysledek = re.sub('\⁠s', '_', str)
tisknout (výsledek)

Výstup:

this_is_a_variable_name

Výše uvedený kód nahrazuje prázdný znak znakem podtržení.

3. Prvky sekvence filtrů

Pomocí můžete filtrovat prvky ze sekvence podle určitých podmínek porozumění seznamu.

seznam = [32, 45, 23, 78, 56, 87, 25, 89, 66]

# Seznam filtrování, kde jsou prvky větší než 50
filter_list = [ele pro ele v seznamu, pokud ele>50]
tisknout (filtrovaný_seznam)

Výstup:

[78, 56, 87, 89, 66]

4. Zarovnat textové řetězce

Textové řetězce můžete zarovnat pomocí jen(), rjust(), a centrum() metody. Tyto metody zarovnají doleva, doprava a vycentrují řetězec v poli dané šířky.

str = "Python je nejlepší"
tisknout (str.ljust (20))
tisk (str.center (20))
tisknout (str.rjust (20))

Výstup:

Python je nejlepší 
Python je nejlepší
Python je nejlepší

Tyto metody také přijímají volitelný znak výplně.

str = "Python je nejlepší"
tisknout (str.ljust (20, '#'))
tisk (str.center (20, '#'))
tisknout (str.rjust (20, '#'))

Výstup:

Python je nejlepší######
###Python je nejlepší###
######Python je nejlepší

Poznámka: Můžete také použít formát() funkce k zarovnání řetězců.

5. Převést řetězce na datumy

Můžete použít strptime() metoda z čas schůzky třídy převést řetězcovou reprezentaci data/času na objekt data.

z datetime import datetime
str = '2022-01-03'
tisknout (str)
tisknout (typ (str))
datetime_object = datetime.strptime (str, '%Y-%m-%d')
tisknout (datetime_object)
tisknout (typ (datetime_object))

Výstup:

2022-01-03

2022-01-03 00:00:00

Poznámka: Pokud argument řetězce není konzistentní s parametrem format, strptime() metoda nebude fungovat.

6. Rozbalte sekvenci do samostatných proměnných

Libovolnou sekvenci můžete rozbalit do proměnných pomocí operace přiřazení. Tato metoda funguje, pokud se počet proměnných a struktura sekvence vzájemně shodují.

Rozbalování n-tic

tup = (12, 23, 34, 45, 56)
a, b, c, d, e = tup
tisknout (a)
tisknout (d)

Výstup:

12
45

Rozbalovací seznamy

seznam = ["Ahoj", 23, 0,34, (55, 76)]
a, b, c, d = seznam
tisknout (a)
tisknout (d)

Výstup:

Ahoj
(55, 76)

Rozbalení řetězců

str = "Ahoj"
ch1, ch2, ch3, ch4, ch5 = str
tisknout (ch1)

Výstup:

H

Pokud se počet proměnných a struktura sekvence neshodují, zobrazí se chyba:

seznam = ["Ahoj", 23, 0,34, (55, 76)]
a, b, c = seznam

Výstup:

Zpětné sledování (poslední poslední hovor):
Soubor "unpack-list-error.py", řádek 2, in
a, b, c = seznam
ValueError: příliš mnoho hodnot k rozbalení (očekává se 3)

7. Psaní funkcí, které přijímají libovolný počet pozičních argumentů

Musíte použít a * argument přijmout libovolný počet pozičních argumentů.

def sumOfElements (firstTerm, *otherTerms):
s = první termín + součet (ostatní podmínky)
tisknout (y)
sumOfElements (10, 10, 10, 10, 10)
sumOfElements (10)
sumOfElements (10, 10, 10)

Výstup:

50
10
30

8. Vrátí více hodnot z funkce

Z funkce můžete vrátit více hodnot pomocí n-tice, seznamu nebo slovníku.

def returnMultipleSports():
sport1 = "fotbal"
sport2 = "kriket"
sport3 = "basketbal"
návrat sport1, sport2, sport3
sport = returnMultipleSports()
tisknout (sportovní)

Výstup:

('fotbal', 'kriket', 'basketbal')

Ve výše uvedeném příkladu funkce vrací n-tici. N-tici můžete rozbalit a použít vrácené hodnoty.

def returnMultipleLanguages():
jazyk1 = "angličtina"
jazyk2 = "hindština"
jazyk 3 = "francouzština"
návrat [jazyk1, jazyk2, jazyk3]
jazyky = returnMultipleLanguages()
tisknout (jazyky)

Výstup:

['angličtina', 'hindština', 'francouzština']

V tomto příkladu funkce vrací seznam.

9. Iterujte obráceně

Sekvencí můžete iterovat v opačném pořadí pomocí obrácený () funkce, rozsah() nebo pomocí techniky krájení.

Opačná iterace Pomocí funkce reversed().

seznam1 = [1, 2, 3, 4, 5, 6, 7]
pro prvek obráceně (seznam1):
tisknout (prvek)

Výstup:

7
6
5
4
3
2
1

Opačná iterace Pomocí funkce range().

seznam1 = [1, 2, 3, 4, 5, 6, 7]
pro i v rozsahu (délka (seznam1) - 1, -1, -1):
tisknout (seznam1[i])

Výstup:

7
6
5
4
3
2
1

Opačné opakování pomocí techniky krájení

seznam1 = [1, 2, 3, 4, 5, 6, 7]
pro prvek v seznamu1[::-1]:
tisknout (prvek)

Výstup:

7
6
5
4
3
2
1

10. Čtení a zápis JSON do souboru

S daty JSON můžete pracovat pomocí vestavěného json balíček v Pythonu.

Zápis JSON do souboru

JSON můžete zapsat do souboru pomocí json.dump() metoda.

import json
jazyky = {
"Python": "Guido van Rossum",
"C++": "Bjarne Stroustrup",
"Java": "James Gosling"
}
s open("lang.json", "w") jako výstup:
json.dump (jazyky, výstup)

Tím se vytvoří nový soubor s názvem lang.json.

Čtení JSON ze souboru

JSON můžete číst ze souboru pomocí json.load() funkce. Tato funkce načte data JSON ze souboru JSON do slovníku.

import json
s open('lang.json', 'r') jako o:
jsonData = json.load (o)
tisknout (jsonData)

Výstup:

{'Python': 'Guido van Rossum', 'C++': 'Bjarne Stroustrup', 'Java': 'James Gosling'}

11. Zápis do souboru, který ještě neexistuje

Pokud chcete zapisovat do souboru pouze v případě, že ještě neexistuje, musíte soubor otevřít X režim (výhradní režim tvorby).

s open('lorem.txt', 'x') jako f:
f.write('lorem ipsum')

Pokud soubor lorem.txt již existuje, tento kód způsobí, že Python vyvolá a FileExistsError.

Pokud se chcete podívat na úplný zdrojový kód použitý v tomto článku, zde je úložiště GitHub.

Udělejte svůj kód robustním pomocí vestavěných funkcí Pythonu

Použijte funkce k rozdělení programu na modulární části a provádění specifických úkolů. Python poskytuje mnoho vestavěných funkcí, jako je rozsah(), plátek(), seřazeno(), břišní svaly(), a tak dále, které vám mohou hodně usnadnit úkoly. Využijte tyto vestavěné funkce k napsání čitelnějšího a funkčnějšího kódu.

20 funkcí Pythonu, které byste měli znát

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Krajta

O autorovi

Yuvraj Chandra (82 zveřejněných článků)

Yuvraj je vysokoškolským studentem informatiky na univerzitě v Dillí v Indii. Je nadšený pro Full Stack Web Development. Když nepíše, zkoumá hloubku různých technologií.

Více od Yuvraj Chandra

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem