ವಿಷಯಕ್ಕೆ ತೆರಳಿ

ಪೈಥಾನ್ ಸ್ಟ್ರಿಂಗ್ ಮ್ಯಾನಿಪ್ಯುಲೇಶನ್: ಸಂದರ್ಶನ ಪ್ರಶ್ನೆಗಳು ಮತ್ತು ಉತ್ತರಗಳು

1. ಪೈಥಾನ್‌ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಇಮ್ಮ್ಯೂಟಬಲ್ (Immutable) ಎಂದರೆ ಏನು?

ಉತ್ತರ: ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಇಮ್ಮ್ಯೂಟಬಲ್ ಎಂದರೆ, ಒಮ್ಮೆ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ, ಅದರ ಅಕ್ಷರಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ಪೈಥಾನ್ ಹೊಸ ಸ್ಟ್ರಿಂಗ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.

ಉದಾಹರಣೆ:

my_string = "Hello"
# my_string[0] = 'h' # ಇದು TypeError ನೀಡುತ್ತದೆ

# ಬದಲಾವಣೆ ಮಾಡಲು, ಹೊಸ ಸ್ಟ್ರಿಂಗ್ ರಚಿಸಬೇಕು
new_string = 'h' + my_string[1:]
print(new_string)  # "hello"

2. ಸ್ಟ್ರಿಂಗ್ ಸ್ಲೈಸಿಂಗ್ (Slicing) ಎಂದರೇನು?

ಉತ್ತರ: ಸ್ಲೈಸಿಂಗ್ ಎನ್ನುವುದು ಸ್ಟ್ರಿಂಗ್‌ನ ಒಂದು ಭಾಗವನ್ನು (substring) ಪಡೆಯುವ ವಿಧಾನ. ಇದನ್ನು ಸ್ಕ್ವೇರ್ ಬ್ರಾಕೆಟ್‌ಗಳಲ್ಲಿ [start:stop:step] ಬಳಸಿ ಮಾಡಲಾಗುತ್ತದೆ.

  • start: ಸ್ಲೈಸ್ ಪ್ರಾರಂಭವಾಗುವ ಇಂಡೆಕ್ಸ್ (ಸೇರಿಸಲಾಗಿದೆ).
  • stop: ಸ್ಲೈಸ್ ಕೊನೆಗೊಳ್ಳುವ ಇಂಡೆಕ್ಸ್ (ಸೇರಿಸಲಾಗಿಲ್ಲ).
  • step: ಪ್ರತಿ ಹಂತದಲ್ಲಿ ಎಷ್ಟು ಅಕ್ಷರಗಳನ್ನು ಸ್ಕಿಪ್ ಮಾಡಬೇಕು.

ಉದಾಹರಣೆ:

s = "Python Programming"
print(s[0:6])  # "Python"
print(s[7:])  # "Programming"
print(s[:6])  # "Python"
print(s[::-1])  # "gnimmargorP nohtyP" (ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ರಿವರ್ಸ್ ಮಾಡಲು)

3. split() ಮತ್ತು join() ಮೆಥಡ್‌ಗಳ ಉಪಯೋಗವೇನು?

ಉತ್ತರ:

  • split(): ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಡಿಲಿಮಿಟರ್ (delimiter) ಬಳಸಿ ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಿ, ಅವುಗಳನ್ನು ಒಂದು ಲಿಸ್ಟ್ ಆಗಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಡಿಲಿಮಿಟರ್ ನೀಡದಿದ್ದರೆ, ಸ್ಪೇಸ್ ಅನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಬಳಸುತ್ತದೆ.
  • join(): ಒಂದು ಲಿಸ್ಟ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಒಂದೇ ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಜೋಡಿಸುತ್ತದೆ. ಇದನ್ನು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಮೆಥಡ್ ಆಗಿ ಕಾಲ್ ಮಾಡಬೇಕು, ಮತ್ತು ಲಿಸ್ಟ್ ಅನ್ನು ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ನೀಡಬೇಕು.

ಉದಾಹರಣೆ:

# split()
sentence = "Python is a fun language"
words = sentence.split(' ')
print(words)  # ['Python', 'is', 'a', 'fun', 'language']

# join()
new_sentence = "-".join(words)
print(new_sentence)  # "Python-is-a-fun-language"

4. f-ಸ್ಟ್ರಿಂಗ್ (f-string) ಎಂದರೇನು?

ಉತ್ತರ: f-ಸ್ಟ್ರಿಂಗ್ (ಫಾರ್ಮ್ಯಾಟೆಡ್ ಸ್ಟ್ರಿಂಗ್ ಲಿಟರಲ್ಸ್) ಎನ್ನುವುದು ಸ್ಟ್ರಿಂಗ್ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮಾಡಲು ಒಂದು ಆಧುನಿಕ ಮತ್ತು ಸುಲಭವಾದ ವಿಧಾನ. ಸ್ಟ್ರಿಂಗ್‌ನ ಆರಂಭದಲ್ಲಿ f ಅಥವಾ F ಅಕ್ಷರವನ್ನು ಬಳಸಿ, ಮತ್ತು ವೇರಿಯೇಬಲ್‌ಗಳು ಅಥವಾ ಎಕ್ಸ್‌ಪ್ರೆಶನ್‌ಗಳನ್ನು ಕರ್ಲಿ ಬ್ರೇಸ್‌ಗಳಲ್ಲಿ {} ಇರಿಸುವ ಮೂಲಕ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ಉದಾಹರಣೆ:

name = "Ravi"
age = 25

# ಹಳೆಯ ವಿಧಾನ (.format)
print("My name is {} and I am {} years old.".format(name, age))

# f-ಸ್ಟ್ರಿಂಗ್ ವಿಧಾನ
print(f"My name is {name} and I am {age} years old.")

5. ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿರುವ ಪ್ರಮುಖ ಮೆಥಡ್‌ಗಳು ಯಾವುವು?

ಉತ್ತರ: ಕೆಲವು ಪ್ರಮುಖ ಸ್ಟ್ರಿಂಗ್ ಮೆಥಡ್‌ಗಳು:

  • strip(): ಸ್ಟ್ರಿಂಗ್‌ನ ಆರಂಭ ಮತ್ತು ಕೊನೆಯಲ್ಲಿರುವ ವೈಟ್‌ಸ್ಪೇಸ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
  • lower(): ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಲೋವರ್‌ಕೇಸ್‌ಗೆ ಪರಿವರ್ತಿಸುತ್ತದೆ.
  • upper(): ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಅಪ್ಪರ್‌ಕೇಸ್‌ಗೆ ಪರಿವರ್ತಿಸುತ್ತದೆ.
  • replace(old, new): ಸ್ಟ್ರಿಂಗ್‌ನ ಒಂದು ಭಾಗವನ್ನು ಇನ್ನೊಂದರಿಂದ ಬದಲಾಯಿಸುತ್ತದೆ.
  • find(substring): ಸಬ್‌ಸ್ಟ್ರಿಂಗ್‌ನ ಮೊದಲ ಸಂಭವಿಸುವಿಕೆಯ ಇಂಡೆಕ್ಸ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಸಿಗದಿದ್ದರೆ -1 ನೀಡುತ್ತದೆ.
  • startswith(prefix): ಸ್ಟ್ರಿಂಗ್ ನಿರ್ದಿಷ್ಟ ಪ್ರಿಫಿಕ್ಸ್‌ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸುತ್ತದೆ.
  • endswith(suffix): ಸ್ಟ್ರಿಂಗ್ ನಿರ್ದಿಷ್ಟ ಸಫಿಕ್ಸ್‌ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸುತ್ತದೆ.
  • count(substring): ಸಬ್‌ಸ್ಟ್ರಿಂಗ್ ಎಷ್ಟು ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾಗಿದೆ ಎಂದು ಎಣಿಸುತ್ತದೆ.