🔤 Virknes (Strings)
Python virknes ir nemainīgas (immutable) rakstzīmju secības. Python piedāvā ļoti bagātīgu virkņu apstrādes rīku kopu, ieskaitot spēcīgos f-strings.
Virkņu izveide
Teksts
# Dažādi veidi, kā izveidot virknes vienkarsas = "Sveiki" vienkarsi = 'Pasaule' # Abi ir vienādi triju_dubultu = """Šī virkne var aptvert vairākas rindas""" triju_vienkarsu = '''Arī šī ir daudzrindu virkne''' # Rakstzīmes un garums virkne = "Python" print(len(virkne)) # 6 print(virkne[0]) # P (pirmā rakstzīme) print(virkne[-1]) # n (pēdējā) print(virkne[1:4]) # yth (slice – no 1 līdz 3) print(virkne[:3]) # Pyt (no sākuma) print(virkne[3:]) # hon (līdz beigām) print(virkne[::2]) # Pto (katrs otrais) print(virkne[::-1]) # nohtyP (apgriezta) # Virknes ir nemainīgas! # virkne[0] = "p" # <- TypeError!
Virkņu metodes
Teksts
teksts = " Sveika, Pasaule! "
# Lielie/mazie burti
print(teksts.upper()) # " SVEIKA, PASAULE! "
print(teksts.lower()) # " sveika, pasaule! "
print(teksts.title()) # " Sveika, Pasaule! "
print(teksts.capitalize()) # " sveika, pasaule! " (tikai pirmā liela)
print(teksts.swapcase()) # " sVEIKA, pASAULE! "
# Atstarpju noņemšana
print(teksts.strip()) # "Sveika, Pasaule!"
print(teksts.lstrip()) # "Sveika, Pasaule! "
print(teksts.rstrip()) # " Sveika, Pasaule!"
# Meklēšana
s = "programmēšana ir jautra"
print(s.find("ir")) # 16 (vai -1, ja nav)
print(s.index("ir")) # 16 (vai ValueError, ja nav)
print(s.count("a")) # 3
print(s.startswith("prog")) # True
print(s.endswith("utra")) # True
print("ir" in s) # True
# Aizstāšana un sadalīšana
print(s.replace("jautra", "interesanta")) # "programmēšana ir interesanta"
vārdi = s.split(" ") # ["programmēšana", "ir", "jautra"]
print(vārdi)
print(" | ".join(vārdi)) # "programmēšana | ir | jautra"
# Pārbaudes
print("12345".isdigit()) # True
print("abcABC".isalpha()) # True
print("abc123".isalnum()) # True
print(" ".isspace()) # True
print("Pirmais".istitle()) # True
Virkņu formatēšana
Teksts
vards = "Anna"
vecums = 28
cena = 19.99
# 1. f-strings (Python 3.6+) – IETEICAMS
print(f"Sveika, {vards}! Tev ir {vecums} gadu.")
print(f"Cena: {cena:.2f} €") # 2 decimāļi
print(f"Skaitlis: {1000000:,}") # 1,000,000
print(f"Vārds lielos: {vards!u}") # ANNA
print(f"2^10 = {2**10}") # 2^10 = 1024
print(f"{vards:>10}") # " Anna" (labā izlīdzināšana)
print(f"{vards:<10}|") # "Anna |" (kreisā)
print(f"{vecums:05d}") # 00028 (ar nullēm)
# 2. .format() metode
print("Sveika, {}! Tev ir {} gadu.".format(vards, vecums))
print("Cena: {cena:.2f} €".format(cena=cena))
print("{0} un {0}".format("atkārtots")) # atkārtots un atkārtots
# 3. % formatēšana (vecais veids)
print("Sveika, %s! Tev ir %d gadu." % (vards, vecums))
print("Cena: %.2f €" % cena)
# Izpildāmas izteiksmes f-strings iekšā
a, b = 7, 3
print(f"{a} ÷ {b} = {a/b:.4f}") # 7 ÷ 3 = 2.3333
print(f"Max: {max(a, b)}, Min: {min(a, b)}")
Escape rakstzīmes un raw strings
🎓 Ko mācīties tālāk?
Nākamajā sadaļā aplūkosim Python nosacījumu konstrukcijas – if, elif, else un match/case.
Teksts
# Escape rakstzīmes
print("Pirmā rinda\nOtrā rinda") # \n – jaunā rinda
print("Kolonna1\tKolonna2") # \t – tabulators
print("Pēdiņas: \"teksts\"") # \" – pēdiņa virknē
print("Backslash: \") # \ – paša backslash
# Raw strings – ignorē escape sekvences
ceļš = r"C:\Users\Anna\Documents" # r"..." – raw
print(ceļš) # C:\Users\Anna\Documents
# Regulārās izteiksmes parasti izmanto raw strings
import re
teksts = "Telefons: +371 12345678"
sakritiba = re.search(r"\+371 \d{8}", teksts)
if sakritiba:
print("Atrasts:", sakritiba.group()) # +371 12345678
# Virknes dublēšana
print("Ha" * 3) # HaHaHa
print("-" * 40) # ----------------------------------------
# Virknes pievienošana (lēns veids!)
# Labāk: " ".join(saraksts)
rezultāts = ""
for i in range(5):
rezultāts += str(i) # "01234"
print(rezultāts)
# Ātrs veids:
print("".join(str(i) for i in range(5))) # "01234"