Skip to content

assert ಸ್ಟೇಟ್‌ಮೆಂಟ್

ಪೈಥಾನ್‌ನಲ್ಲಿ, assert ಸ್ಟೇಟ್‌ಮೆಂಟ್ ಒಂದು ಕಂಡೀಷನ್ (ಷರತ್ತು) ಸತ್ಯವಾಗಿದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಲು ಬಳಸುವ ಒಂದು ಡೀಬಗ್ಗಿಂಗ್ ಸಾಧನವಾಗಿದೆ. ಆ ಕಂಡೀಷನ್ False ಆಗಿದ್ದರೆ, assert ಸ್ಟೇಟ್‌ಮೆಂಟ್ AssertionError ಅನ್ನು ಎಬ್ಬಿಸುತ್ತದೆ.

assert ಅನ್ನು ಪ್ರೋಗ್ರಾಮ್‌ನ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಪರೀಕ್ಷೆಯ ಹಂತದಲ್ಲಿ, ಕೋಡ್‌ನ ನಿರೀಕ್ಷೆಗಳು ಸರಿಯಾಗಿವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಬಳಸಲಾಗುತ್ತದೆ.


assert ಸಿಂಟ್ಯಾಕ್ಸ್

assert condition, "ಕಂಡೀಷನ್ ವಿಫಲವಾದಾಗ ತೋರಿಸಬೇಕಾದ ಸಂದೇಶ (ಐಚ್ಛಿಕ)"
- condition: True ಅಥವಾ False ಗೆ ಮೌಲ್ಯಮಾಪನವಾಗುವ ಒಂದು ಎಕ್ಸ್‌ಪ್ರೆಶನ್. - "ಸಂದೇಶ": AssertionError ನೊಂದಿಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುವ ಐಚ್ಛಿಕ (optional) ಸ್ಟ್ರಿಂಗ್.


assert ಅನ್ನು ಏಕೆ ಮತ್ತು ಯಾವಾಗ ಬಳಸಬೇಕು?

  • ಡೀಬಗ್ಗಿಂಗ್: ಪ್ರೋಗ್ರಾಮ್‌ನ ಒಂದು ನಿರ್ದಿಷ್ಟ ಹಂತದಲ್ಲಿ ವೇರಿಯೇಬಲ್‌ಗಳು ನಿರೀಕ್ಷಿತ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು.
  • ಪೂರ್ವ-ಷರತ್ತುಗಳನ್ನು (Pre-conditions) ಪರೀಕ್ಷಿಸಲು: ಒಂದು ಫಂಕ್ಷನ್‌ನ ಪ್ರಾರಂಭದಲ್ಲಿ, ಅದಕ್ಕೆ ನೀಡಲಾದ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳು ಮಾನ್ಯವಾಗಿವೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಲು.
  • ನಂತರದ-ಷರತ್ತುಗಳನ್ನು (Post-conditions) ಪರೀಕ್ಷಿಸಲು: ಒಂದು ಫಂಕ್ಷನ್‌ನ ಕೊನೆಯಲ್ಲಿ, ಅದು ಹಿಂತಿರುಗಿಸುವ ಮೌಲ್ಯವು ನಿರೀಕ್ಷೆಯಂತೆಯೇ ಇದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು.

ಪ್ರಮುಖ ಸೂಚನೆ: assert ಅನ್ನು ಬಳಕೆದಾರರ ಇನ್‌ಪುಟ್ ವ್ಯಾಲಿಡೇಶನ್ ಅಥವಾ ಪ್ರೊಡಕ್ಷನ್ ಕೋಡ್‌ನಲ್ಲಿ ಸಾಮಾನ್ಯ ದೋಷ ನಿರ್ವಹಣೆಗಾಗಿ ಬಳಸಬಾರದು. ಅದಕ್ಕಾಗಿ try...except ಬ್ಲಾಕ್‌ಗಳು ಸೂಕ್ತ. assert ಗಳನ್ನು -O (optimize) ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ ಪೈಥಾನ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಲಾಯಿಸಿದಾಗ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು.


ಉದಾಹರಣೆಗಳು

1. ಫಂಕ್ಷನ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುವುದು

ವಿದ್ಯಾರ್ಥಿಯ ಅಂಕಗಳನ್ನು ಶೇಕಡಾವಾರು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಫಂಕ್ಷನ್‌ನಲ್ಲಿ, ಒಟ್ಟು ಅಂಕಗಳು ಶೂನ್ಯವಾಗಿರಬಾರದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳೋಣ.

def calculate_percentage(marks_obtained, total_marks):
    # ಪೂರ್ವ-ಷರತ್ತು: ಒಟ್ಟು ಅಂಕಗಳು ಶೂನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿರಬೇಕು
    assert total_marks > 0, "ಒಟ್ಟು ಅಂಕಗಳು ಶೂನ್ಯವಾಗಿರಬಾರದು."

    return (marks_obtained / total_marks) * 100

# ಸರಿಯಾದ ಬಳಕೆ
percentage = calculate_percentage(80, 100)
print(f"ಶೇಕಡಾವಾರು: {percentage}%")

# ತಪ್ಪಾದ ಬಳಕೆ
try:
    calculate_percentage(80, 0)
except AssertionError as e:
    print(f"ದೋಷ: {e}")
ಔಟ್‌ಪುಟ್:
ಶೇಕಡಾವಾರು: 80.0%
ದೋಷ: ಒಟ್ಟು ಅಂಕಗಳು ಶೂನ್ಯವಾಗಿರಬಾರದು.

2. ವೇರಿಯೇಬಲ್‌ನ ಸ್ಥಿತಿಯನ್ನು ಪರೀಕ್ಷಿಸುವುದು

ಒಂದು ಲಿಸ್ಟ್ ಖಾಲಿಯಾಗಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು assert ಬಳಸುವುದು.

def process_names(names):
    assert len(names) > 0, "ಹೆಸರುಗಳ ಪಟ್ಟಿ ಖಾಲಿಯಾಗಿದೆ."
    for name in names:
        print(f"ಪ್ರೊಸೆಸಿಂಗ್: {name}")

names_list = ["ರವಿಕಿರಣ", "ನಿಶ್ಕಲಾ"]
process_names(names_list)

empty_list = []
try:
    process_names(empty_list)
except AssertionError as e:
    print(f"ದೋಷ: {e}")
ಔಟ್‌ಪುಟ್:
ಪ್ರೊಸೆಸಿಂಗ್: ರವಿಕಿರಣ
ಪ್ರೊಸೆಸಿಂಗ್: ನಿಶ್ಕಲಾ
ದೋಷ: ಹೆಸರುಗಳ ಪಟ್ಟಿ ಖಾಲಿಯಾಗಿದೆ.


assert vs. try...except

assert try...except
ಉದ್ದೇಶ: ಡೀಬಗ್ಗಿಂಗ್ ಮತ್ತು ಪರೀಕ್ಷೆ. ಉದ್ದೇಶ: ಪ್ರೊಡಕ್ಷನ್ ಕೋಡ್‌ನಲ್ಲಿ ದೋಷ ನಿರ್ವಹಣೆ.
ನಡವಳಿಕೆ: ಕಂಡೀಷನ್ ವಿಫಲವಾದರೆ AssertionError ಎಬ್ಬಿಸುತ್ತದೆ. ನಡವಳಿಕೆ: ದೋಷಗಳನ್ನು ಹಿಡಿದು, ಪರ್ಯಾಯ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತದೆ.
ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವಿಕೆ: -O ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು. ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವಿಕೆ: ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ.
ಬಳಕೆ: ಪ್ರೋಗ್ರಾಮರ್‌ನ ತಪ್ಪುಗಳನ್ನು (ಬಗ್‌ಗಳನ್ನು) ಹಿಡಿಯಲು. ಬಳಕೆ: ಬಳಕೆದಾರರ ತಪ್ಪುಗಳು ಅಥವಾ ಬಾಹ್ಯ ದೋಷಗಳನ್ನು (ಉದಾ: ಫೈಲ್ ಸಿಗದಿರುವುದು) ನಿರ್ವಹಿಸಲು.

ಸಾರಾಂಶದಲ್ಲಿ, assert ನಿಮ್ಮ ಕೋಡ್‌ನ ನಿರೀಕ್ಷೆಗಳನ್ನು ದಾಖಲಿಸಲು ಮತ್ತು ಅಭಿವೃದ್ಧಿಯ ಹಂತದಲ್ಲಿ ದೋಷಗಳನ್ನು ಬೇಗನೆ ಪತ್ತೆಹಚ್ಚಲು ಒಂದು ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದೆ.