Python / Мөр (String)

Мөр (String)

Програм бичихдээ текст өгөгдлийг байнга ашигладаг — хэрэглэгчийн нэр, мэдэгдэл, файлын агуулга гэх мэт. Python-ийн str (string) төрөл нь текст ажиллуулах асар олон боломж санал болгодог. Энэ хичээлд хамгийн чухал string аргуудыг практик жишээгээр сурна.

String үүсгэх

python
# Нэг эш хаалт
нэр = 'Болд'

# Хос эш хаалт
хот = "Улаанбаатар"

# Олон мөрийн string — гурвалсан эш хаалт
танилцуулга = """
Миний нэр Болд.
Би Улаанбаатарт амьдардаг.
Python сурч байна.
"""

# len() — тэмдэгтийн тоо
print(len(нэр))    # 4
print(len(хот))    # 12

String нэгтгэх ба давтах

python
нэр = "Сарнай"
мэндчилгээ = "Сайн уу, " + нэр + "!"
print(мэндчилгээ)   # Сайн уу, Сарнай!

# * — string давтах
зураас = "-" * 30
print(зураас)        # ------------------------------

# f-string — хамгийн хялбар арга
нас = 22
print(f"{нэр} {нас} настай.")   # Сарнай 22 настай.

Индекс ба slice

String-ийн тэмдэгт бүр 0-ээс эхэлж дугаарлагдана:

python
үг = "Python"
#     P  y  t  h  o  n
#     0  1  2  3  4  5
#    -6 -5 -4 -3 -2 -1

print(үг[0])     # P  — эхний тэмдэгт
print(үг[5])     # n  — зургаа дахь
print(үг[-1])    # n  — сүүлчийн
print(үг[-3])    # h  — сүүлээс гурав дахь

# Slice — [эхлэл : төгсгөл : алхам]
print(үг[0:3])   # Pyt   — 0, 1, 2 (3 хамрагдахгүй)
print(үг[2:])    # thon  — 2-оос эцэс хүртэл
print(үг[:4])    # Pyth  — эхнээс 4 хүртэл
print(үг[::-1])  # nohtyP — урвуу

Чухал string методууд

Python string-д хэрэглэдэг хамгийн түгээмэл методууд:

python
текст = "  Сайн уу, Python!  "

# Том/жижиг үсэг
print(текст.upper())      # САЙН УУ, PYTHON!
print(текст.lower())      # сайн уу, python!

# Зай арилгах
print(текст.strip())      # "Сайн уу, Python!"
print(текст.lstrip())     # "Сайн уу, Python!  "
print(текст.rstrip())     # "  Сайн уу, Python!"

# Хайх ба орлуулах
print(текст.find("Python"))       # 11  — олдвол индекс
print(текст.replace("Python", "Монгол"))   # Сайн уу, Монгол!

# Эхлэл / төгсгөл шалгах
print(текст.strip().startswith("Сайн"))    # True
print(текст.strip().endswith("!"))         # True

# Тоолох
print(текст.count("а"))    # хэдэн "а" байгааг тоолно

split ба join

python
# split — string-ийг жагсаалт болгон задлах
өгүүлбэр = "Python сурах нь хялбар"
үгнүүд = өгүүлбэр.split(" ")
print(үгнүүд)    # ['Python', 'сурах', 'нь', 'хялбар']
print(len(үгнүүд))  # 4

# CSV мэдээлэл задлах
мэдээ = "Болд,25,Улаанбаатар"
нэр, нас, хот = мэдээ.split(",")
print(нэр)   # Болд
print(нас)   # 25
print(хот)   # Улаанбаатар

# join — жагсаалтыг string болгон нэгтгэх
өнгөнүүд = ["улаан", "шар", "ногоон"]
print(" | ".join(өнгөнүүд))   # улаан | шар | ногоон
print(", ".join(өнгөнүүд))    # улаан, шар, ногоон

f-string нарийвчлал

f-string нь Python 3.6-д нэмэгдсэн хамгийн хялбар форматлах арга:

python
нэр = "Төгс"
оноо = 92.666
дараалал = 3

# Тоон форматлал
print(f"Оноо: {оноо:.1f}")          # Оноо: 92.7
print(f"Дараалал: {дараалал:02d}")   # Дараалал: 03

# Хэмжээ
print(f"{'Нэр':<10} {'Оноо':>6}")   # Нэр             Оноо
print(f"{нэр:<10} {оноо:>6.1f}")    # Төгс              92.7

# Тооцоолол шууд хийж болно
print(f"Хоёр дахин нэмэгдвэл: {оноо * 2:.0f}")

String байгаа эсэхийг шалгах

python
хаяг = "ulaanbaatar.app/courses/python"

# in — доторх байгаа эсэх
print("python" in хаяг)         # True
print("javascript" in хаяг)    # False

# Жишээ — нууц үг шалгах
нууц_үг = "Python2024!"
if len(нууц_үг) < 8:
    print("Нууц үг хэтэрхий богино!")
elif нууц_үг.isdigit():
    print("Зөвхөн тооноос бүрдэж болохгүй!")
else:
    print("Нууц үг хүлээн зөвшөөрөгдлөө ✓")

Дараагийн хичээлд:

String-тэй ажиллаж сурлаа! Дараа нь bool (Boolean) өгөгдлийн төрлийг гүнзгийрүүлж, and, or, not логик операторуудыг, мөн Python-д "худал" гэж тооцогддог утгуудыг судална.