Skip to content

ಫಂಕ್ಷನ್ ಆರ್ಗ್ಯುಮಂಟ್ಸ್ ಮತ್ತು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು

ಪೈಥಾನ್ ಫಂಕ್ಷನ್‌ಗಳಲ್ಲಿ, ಪ್ಯಾರಾಮೀಟರ್ (Parameter) ಎಂದರೆ ಫಂಕ್ಷನ್ ಡಿಫಿನೇಷನ್‌ನಲ್ಲಿರುವ ವೇರಿಯೇಬಲ್ ಹೆಸರು. ಆರ್ಗ್ಯುಮೆಂಟ್ (Argument) ಎಂದರೆ ಫಂಕ್ಷನ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುವಾಗ ಆ ಪ್ಯಾರಾಮೀಟರ್‌ಗೆ ನೀಡಲಾಗುವ ನಿಜವಾದ ಮೌಲ್ಯ.

def greet(name):  # 'name' ಒಂದು ಪ್ಯಾರಾಮೀಟರ್
    print(f"ನಮಸ್ಕಾರ, {name}")

greet("ಗೋವರ್ಧನ್")  # "ಗೋವರ್ಧನ್" ಒಂದು ಆರ್ಗ್ಯುಮೆಂಟ್

ಪೈಥಾನ್‌ನಲ್ಲಿ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ನೀಡಲು ಹಲವಾರು ವಿಧಾನಗಳಿವೆ.


1. ಪೊಸಿಷನಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ (Positional Arguments)

ಇವುಗಳನ್ನು ಫಂಕ್ಷನ್ ಕಾಲ್‌ನಲ್ಲಿ ಕ್ರಮಬದ್ಧವಾಗಿ (in order) ನೀಡಲಾಗುತ್ತದೆ. ಮೊದಲ ಆರ್ಗ್ಯುಮೆಂಟ್ ಮೊದಲ ಪ್ಯಾರಾಮೀಟರ್‌ಗೆ, ಎರಡನೆಯದು ಎರಡನೇ ಪ್ಯಾರಾಮೀಟರ್‌ಗೆ, ಹೀಗೆ ನಿಯೋಜನೆಯಾಗುತ್ತದೆ.

def describe_person(name, age):
    print(f"{name} ಅವರಿಗೆ {age} ವರ್ಷ ವಯಸ್ಸು.")

describe_person("ರವಿಕಿರಣ", 30)
# Output: ರವಿಕಿರಣ ಅವರಿಗೆ 30 ವರ್ಷ ವಯಸ್ಸು.
ಇಲ್ಲಿ, "ರವಿಕಿರಣ" name ಗೆ ಮತ್ತು 30 age ಗೆ ಹೋಗುತ್ತದೆ. ಕ್ರಮ ಬದಲಿಸಿದರೆ, ಅರ್ಥವೂ ಬದಲಾಗುತ್ತದೆ.


2. ಕೀವರ್ಡ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ (Keyword Arguments)

ಇಲ್ಲಿ, ನಾವು key=value ಸಿಂಟ್ಯಾಕ್ಸ್ ಬಳಸಿ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ನೀಡುತ್ತೇವೆ. ಇದರಿಂದ ಕ್ರಮ ಮುಖ್ಯವಾಗುವುದಿಲ್ಲ.

def describe_person(name, age):
    print(f"{name} ಅವರಿಗೆ {age} ವರ್ಷ ವಯಸ್ಸು.")

describe_person(age=28, name="ನಿಶ್ಕಲಾ")
# Output: ನಿಶ್ಕಲಾ ಅವರಿಗೆ 28 ವರ್ಷ ವಯಸ್ಸು.

ಗಮನಿಸಿ: ಪೊಸಿಷನಲ್ ಮತ್ತು ಕೀವರ್ಡ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುವಾಗ, ಪೊಸಿಷನಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳು ಯಾವಾಗಲೂ ಮೊದಲು ಬರಬೇಕು.


3. ಡೀಫಾಲ್ಟ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ (Default Arguments)

ಫಂಕ್ಷನ್ ಡಿಫೈನ್ ಮಾಡುವಾಗ, ಪ್ಯಾರಾಮೀಟರ್‌ಗೆ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ನೀಡಬಹುದು. ಫಂಕ್ಷನ್ ಕಾಲ್ ಮಾಡುವಾಗ ಆ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ನೀಡದಿದ್ದರೆ, ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

def create_user(name, city="ಹಾಸನ"):
    print(f"{name} ಅವರು {city} ನಗರದವರು.")

create_user("ಮಹಾಲಕ್ಷ್ಮಿ")
# Output: ಮಹಾಲಕ್ಷ್ಮಿ ಅವರು ಹಾಸನ ನಗರದವರು.

create_user("ಪಾರ್ವತಮ್ಮ", city="ಚನ್ನರಾಯಪಟ್ಟಣ")
# Output: ಪಾರ್ವತಮ್ಮ ಅವರು ಚನ್ನರಾಯಪಟ್ಟಣ ನಗರದವರು.

4. ಆರ್ಬಿಟ್ರರಿ ಪೊಸಿಷನಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ (*args)

ಒಂದು ಫಂಕ್ಷನ್‌ಗೆ ಎಷ್ಟು ಪೊಸಿಷನಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳು ಬರುತ್ತವೆ ಎಂದು ತಿಳಿದಿಲ್ಲದಿದ್ದಾಗ, *args ಅನ್ನು ಬಳಸಬಹುದು. ಇದು ನೀಡಿದ ಎಲ್ಲಾ ಪೊಸಿಷನಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಒಂದು ಟ್ಯೂಪಲ್ (tuple) ಆಗಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ.

def sum_all_numbers(*numbers):
    print(f"Numbers to sum: {numbers}")
    total = 0
    for num in numbers:
        total += num
    return total

result = sum_all_numbers(1, 2, 3, 4, 5)
print(f"ಮೊತ್ತ: {result}") # Output: ಮೊತ್ತ: 15

5. ಆರ್ಬಿಟ್ರರಿ ಕೀವರ್ಡ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ (**kwargs)

ಒಂದು ಫಂಕ್ಷನ್‌ಗೆ ಎಷ್ಟು ಕೀವರ್ಡ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳು ಬರುತ್ತವೆ ಎಂದು ತಿಳಿದಿಲ್ಲದಿದ್ದಾಗ, **kwargs ಅನ್ನು ಬಳಸಬಹುದು. ಇದು ನೀಡಿದ ಎಲ್ಲಾ ಕೀವರ್ಡ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಒಂದು ಡಿಕ್ಷನರಿ (dictionary) ಆಗಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ.

def display_person_details(**details):
    print("ವ್ಯಕ್ತಿಯ ವಿವರಗಳು:")
    for key, value in details.items():
        print(f"- {key}: {value}")

display_person_details(name="ಗೋವರ್ಧನ್", age=45, city="ಚನ್ನರಾಯಪಟ್ಟಣ", profession="ವ್ಯವಸಾಯ")
ಔಟ್‌ಪುಟ್:
ವ್ಯಕ್ತಿಯ ವಿವರಗಳು:
- name: ಗೋವರ್ಧನ್
- age: 45
- city: ಚನ್ನರಾಯಪಟ್ಟಣ
- profession: ವ್ಯವಸಾಯ


ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ಕ್ರಮ

ಒಂದು ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ಎಲ್ಲಾ ರೀತಿಯ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಬಳಸುವುದಾದರೆ, ಅವುಗಳನ್ನು ಈ ಕೆಳಗಿನ ಕ್ರಮದಲ್ಲಿ ಡಿಫೈನ್ ಮಾಡಬೇಕು: 1. ಪೊಸಿಷನಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ 2. ಡೀಫಾಲ್ಟ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಸ್ 3. *args 4. **kwargs

def example_function(a, b, c="default", *args, **kwargs):
    # ...
    pass
ಈ ವಿವಿಧ ರೀತಿಯ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳು ಪೈಥಾನ್ ಫಂಕ್ಷನ್‌ಗಳನ್ನು ಹೆಚ್ಚು ಶಕ್ತಿಯುತ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತವೆ.