Python मेथडहरूका पूर्ण मार्गदर्शिका: आधारभूतदेखि उन्नतसम्म

目次

१. परिचय

Python एक लोकप्रिय प्रोग्रामिङ भाषा हो जुन सबैले प्रयोग गर्छन्, शुरुआतीदेखि पेशेवरसम्म। यसका अवधारणाहरूमा, मेथडहरू Python प्रोग्रामिङ सिक्नको एक अनिवार्य भाग हुन्।
मेथड वस्तु‑उन्मुख प्रोग्रामिङ (OOP) को मुख्य तत्व हो र Python को लचिलोपन र कार्यक्षमता समर्थन गर्ने महत्त्वपूर्ण मेकानिज्म हो। मेथड र फङ्सनको बीचको फरक बुझेर—जसले प्रायः शुरुआतीलाई पहिलो पटक भ्रमित पार्छ—र ठोस उदाहरणहरू अध्ययन गरेर, तपाईं प्रोग्रामको दक्षता सुधार्न र कोड पुन: प्रयोग सक्षम गर्न सक्नुहुन्छ।

यो लेखले Python मेथडहरूको विस्तृत व्याख्या प्रदान गर्दछ, आधारभूत अवधारणाबाट व्यावहारिक उदाहरणहरू सम्म। यो लेख पढेर, तपाईंले तलका बुँदाहरू सिक्नुहुनेछ:

  • मेथडहरू के हुन् र तिनीहरू फङ्सनहरूबाट कसरी फरक छन्
  • इन्स्ट्यान्स मेथड, क्लास मेथड, र स्ट्याटिक मेथड कसरी प्रयोग गर्ने
  • Python का विशेष मेथड (म्याजिक मेथड) कसरी प्रयोग गर्ने
  • लिस्ट र डिक्शनरी जस्ता बिल्ट‑इन डेटा प्रकारहरूले प्रदान गर्ने उपयोगी मेथडहरू
  • मेथड प्रयोगका व्यावहारिक उदाहरणहरू

यो लेख केवल शुरुआतीलाई Python मेथडहरूको आधारभूत बुझ्न मद्दत गर्ने मात्र होइन, मध्यवर्ती र उन्नत प्रयोगकर्ताहरूलाई थप उन्नत प्रयोग सिकाउन मार्गदर्शनको रूपमा पनि काम गर्दछ। अब, पहिलो चरणमा, “मेथड के हो” भन्ने कुरा नजिकबाट हेरौं।

२. Python मेथडहरू के हुन्? फङ्सनहरूबाट कसरी फरक छन् भन्ने पूर्ण व्याख्या

Python मेथड भनेको वस्तु‑उन्मुख प्रोग्रामिङ (OOP) को सन्दर्भमा प्रयोग हुने फङ्सन जस्तै हो। तर, फङ्सनभन्दा फरक रूपमा, यसका विशेषताहरू अलग छन्, र मुख्य बुँदा यो हो कि यो विशेष वस्तुमा बाँधिएर कार्य गर्दछ। यस भागमा, हामी मेथडहरूको आधारभूत कुरा व्याख्या गर्नेछौं र फङ्सनहरूबाट स्पष्ट रूपमा फरक गर्नेछौं।

मेथडहरूको परिभाषा र विशेषताहरू

मेथड भनेको क्लासभित्र परिभाषित गरिएको फङ्सन हो। मेथडहरू क्लासका इन्स्ट्यान्सहरूमा कार्य गर्न डिजाइन गरिएका हुन्छन् र सामान्यतया self लाई तर्कको रूपमा लिन्छन्, जसले इन्स्ट्यान्सलाई प्राप्त गर्छ। यो self ले कुन इन्स्ट्यान्ससँग मेथड बाँधिएको छ भन्ने संकेत गर्दछ।

उदाहरण: मेथडको आधारभूत संरचना

class SampleClass:
    def example_method(self):
        print("This is a method!")

# Create an instance and call the method
obj = SampleClass()
obj.example_method()

आउटपुट:

This is a method!

उपरोक्त उदाहरणमा, example_method मेथड हो। यो क्लास इन्स्ट्यान्स obj मार्फत कल गरिन्छ, र self ले सो इन्स्ट्यान्सलाई जनाउँछ।

फङ्सनहरूबाट फरक

मेथड र फङ्सनबीचको फरकहरू तल सारांशित गर्न सकिन्छ।

Item

विधि

कार्य

परिभाषा स्थान

क्लास भित्र परिभाषित

क्लास बाहिर परिभाषित गर्न सकिन्छ

यसलाई कसरी बोलिन्छ

इन्स्टेन्स वा क्लास मार्फत कल गरिन्छ

प्रत्यक्ष रूपमा कल गरिएको

बाइन्डिङ

विशिष्ट वस्तु (स्वयं) सँग सम्बन्धित

विशिष्ट वस्तुमा निर्भर छैन

उद्देश्य

वस्तुको डेटा परिवर्तन गर्नुहोस्

सामान्य उद्देश्यका कार्यहरू गर्नुहोस्

उदाहरण: फङ्सनको आधारभूत संरचना

def example_function():
    print("This is a function!")

# Call the function directly
example_function()

मेथडहरूको उद्देश्य र फाइदाहरू

मेथडहरूले वस्तुको डेटा म्यानिपुलेट गर्दा उल्लेखनीय फाइदा प्रदान गर्छन्। उदाहरणका लागि, क्लासभित्र डेटा इनिशियलाइज, अपडेट, र डिस्प्ले गर्न मेथडहरू प्रयोग गर्दा कार्यक्षमता बढ्छ। मेथडहरू प्रयोग गर्दा कोडलाई व्यवस्थित गर्न र पुन: प्रयोगयोग्यता सुधार्न मद्दत मिल्छ।

उदाहरण: मेथडहरूको फाइदा

class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1

    def display(self):
        print(f"Count: {self.count}")

counter = Counter()
counter.increment()
counter.increment()
counter.display()

आउटपुट:

Count: 2

यसरी, Counter क्लासका incrementdisplay मेथडहरू प्रयोग गरेर, तपाईं इन्स्ट्यान्सको अवस्था संक्षिप्त र स्पष्ट रूपमा म्यानिपुलेट गर्न सक्नुहुन्छ।

फङ्सन र मेथड बीच चयन

  • फङ्सनहरू :
  • क्लासमा निर्भर नहुने सामान्य उद्देश्यका अपरेसनहरूका लागि प्रयोग गर्नुहोस्।
  • उदाहरण: गणितीय गणना वा स्ट्रिङ म्यानिपुलेसनका फङ्सनहरू (जस्तै len() वा sum() )।
  • मेथडहरू :
  • क्लास वा वस्तु संग सम्बन्धित व्यवहार कार्यान्वयन गर्दा प्रयोग गर्नुहोस्।
  • उदाहरण: वस्तुको अवस्था परिवर्तन गर्ने वा यसको डेटा म्यानिपुलेट गर्ने अपरेसनहरू।

३. मेथडका प्रकारहरू र तिनीहरूलाई कसरी प्रयोग गर्ने (इन्स्ट्यान्स/क्लास/स्ट्याटिक)

Python मा तीन प्रकारका मेथडहरू छन्। तिनीहरूको भूमिका र प्रयोगबारे बुझेर, तपाईं सही परिस्थितिमा मेथडहरू प्रभावकारी रूपमा प्रयोग गर्न सक्नुहुन्छ। यस भागले इन्स्टेन्स मेथड, क्लास मेथड, र स्ट्याटिक मेथड बीचको भिन्नता र तिनीहरूलाई कसरी प्रयोग गर्ने भन्ने कुरा स्पष्ट पार्दछ।

3.1. इन्स्टेन्स मेथडहरू

अवलोकन
इन्स्टेन्स मेथडहरू ती मेथडहरू हुन् जुन क्लासको इन्स्टेन्स (अब्जेक्ट) मा सञ्चालन हुन्छन्। तिनीहरूले पहिलो आर्गुमेन्टको रूपमा self लिन्छन् र इन्स्टेन्सका एट्रिब्युटहरू पहुँच गर्न वा परिवर्तन गर्न सक्छन्।

उदाहरण: इन्स्टेन्स मेथड प्रयोग गर्ने

class Person:
    def __init__(self, name):
        self.name = name  # Set an instance attribute

    def greet(self):
        print(f"Hello, my name is {self.name}.")

# Create an instance and call the method
person = Person("Alice")
person.greet()

आउटपुट:

Hello, my name is Alice.

मुख्य प्रयोगहरू

  • इन्स्टेन्सको एट्रिब्युटहरू प्राप्त गर्ने वा परिवर्तन गर्ने।
  • विशेष इन्स्टेन्ससँग सम्बन्धित अपरेसन वा प्रोसेसिङ गर्ने।

3.2. क्लास मेथडहरू

अवलोकन
क्लास मेथडहरू क्लासैसँग बन्धित रूपमा सञ्चालन हुन्छन्। तिनीहरूले पहिलो आर्गुमेन्टको रूपमा cls लिन्छन् र क्लास‑स्तरको डाटा पहुँच गर्न वा परिवर्तन गर्न सक्छन्। क्लास मेथड परिभाषित गर्दा @classmethod डेकोरेटर प्रयोग गर्नुहोस्।

उदाहरण: क्लास मेथड प्रयोग गर्ने

class Circle:
    pi = 3.14  # Class attribute

    @classmethod
    def calculate_area(cls, radius):
        return cls.pi * radius ** 2

# Call directly from the class
area = Circle.calculate_area(5)
print(f"Area of the circle: {area}")

आउटपुट:

Area of the circle: 78.5

मुख्य प्रयोगहरू

  • क्लासभित्र साझा गरिने डाटा व्यवस्थापन गर्ने।
  • इन्स्टेन्सहरू सिर्जना गर्न वैकल्पिक कन्स्ट्रक्टरहरू परिभाषित गर्ने।

उदाहरण: वैकल्पिक कन्स्ट्रक्टर परिभाषित गर्ने

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    @classmethod
    def from_string(cls, data_string):
        name, age = data_string.split(",")
        return cls(name, int(age))

# Create an instance from string data
person = Person.from_string("Bob,30")
print(person.name, person.age)

आउटपुट:

Bob 30

3.3. स्ट्याटिक मेथडहरू

अवलोकन
स्ट्याटिक मेथडहरू स्वतन्त्र अपरेसनहरू गर्छन् जसले इन्स्टेन्स वा क्लासमा निर्भर हुँदैन। तिनीहरूले self वा cls लाई पहिलो आर्गुमेन्टको रूपमा लिँदैनन्। स्ट्याटिक मेथड परिभाषित गर्दा @staticmethod डेकोरेटर प्रयोग गर्नुहोस्।

उदाहरण: स्ट्याटिक मेथड प्रयोग गर्ने

class Math:
    @staticmethod
    def add(x, y):
        return x + y

# Call directly from the class
result = Math.add(3, 5)
print(f"Sum: {result}")

आउटपुट:

Sum: 8

मुख्य प्रयोगहरू

  • क्लास वा इन्स्टेन्सको अवस्थासँग सम्बन्धित नहुनु हुने सामान्य‑उद्देश्य प्रोसेसिङ।
  • सहायक मेथडहरू वा युटिलिटी फङ्क्शनहरू परिभाषित गर्ने।

3.4. मेथडहरू बीचको भिन्नताहरूको सारांश तालिका

प्रकार

Decorator

पहिलो तर्क

प्राथमिक उपयोग

उदाहरण विधिहरू

None

स्वयं

एक उदाहरणको गुणहरू र डेटा मा सञ्चालन गर्नुहोस्.

क्लास विधिहरू

@classmethod

cls

क्लास गुणहरूलाई हेरफेर गर्ने र वैकल्पिक कन्स्ट्रक्टरहरू परिभाषित गर्ने.

स्थिर विधिहरू

@staticmethod

None

क्लास वा उदाहरणमा निर्भर नगर्ने सामान्य-उद्देश्यीय प्रोसेसिङ गर्नुहोस्।

4. विशेष मेथडहरू (मैजिक मेथडहरू) सिक्नुहोस्

Python का विशेष मेथडहरू (मैजिक मेथडहरू) वस्तुहरूको व्यवहारलाई अनुकूलन गर्न र कसरी वस्तुहरू कार्य गर्छन् भन्ने नियन्त्रण गर्न प्रयोग गरिन्छ। तिनीहरूलाई दुबै छेउमा दोहोरो अन्डरस्कोर (__init__ जस्तै) भएको कारणले “डन्डर मेथड” पनि भनिन्छ। यस भागले Python प्रोग्रामिङमा सामान्यतया प्रयोग हुने विशेष मेथडहरूलाई उदाहरणसहित व्याख्या गर्दछ।

4.1. विशेष मेथडहरूको आधारभूत कुरा

क्लास परिभाषामा विशेष मेथडहरू ओभरराइड गरेर, तपाईंले तलका व्यवहारहरू अनुकूलन गर्न सक्नुहुन्छ:

  • वस्तु आरम्भिकरण (जस्तै, __init__)
  • स्ट्रिङ प्रतिनिधित्व परिभाषित गर्ने (जस्तै, __str__)
  • तुलनात्मक अपरेसनहरू अनुकूलन गर्ने (जस्तै, __eq__)
  • अपरेटरको व्यवहार परिवर्तन गर्ने (जस्तै, __add__)

उदाहरण: __init__ मेथडको आधारभूत प्रयोग

class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price

item = Product("Book", 1500)
print(item.name, item.price)

आउटपुट:

Book 1500

4.2. सामान्यतया प्रयोग हुने विशेष मेथडहरू

__init__: वस्तु आरम्भिकरण

  • वस्तु सिर्जना गर्दा स्वचालित रूपमा कल हुने मेथड।
  • क्लासको इन्स्टेन्स एट्रिब्युटहरू आरम्भिकरण गर्न प्रयोग गरिन्छ।

उदाहरण

class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price

item = Product("Book", 1500)
print(item.name, item.price)

Output:

Book 1500

__str__: वस्तुको स्ट्रिङ प्रतिनिधित्व

  • print() फङ्क्सनसँग प्रदर्शन गर्दा वा स्ट्रिङ रूपान्तरण गर्दा प्रयोग हुने स्ट्रिङ प्रतिनिधित्व परिभाषित गर्दछ।

उदाहरण

class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price

    def __str__(self):
        return f"{self.name} costs {self.price} yen."

item = Product("Book", 1500)
print(item)

Output:

Book costs 1500 yen.

__len__: वस्तुको लम्बाइ परिभाषित गर्ने

  • बिल्ट-इन फङ्क्सन len() कसरी व्यवहार गर्दछ भन्ने कुरा अनुकूलित गर्दछ।

उदाहरण

class CustomList:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)

my_list = CustomList([1, 2, 3])
print(len(my_list))

Output:

3

__eq__: समानता तुलना अनुकूलित गर्ने

  • == अपरेटर कसरी व्यवहार गर्दछ भन्ने कुरा परिभाषित गर्दछ।

उदाहरण

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __eq__(self, other):
        return self.name == other.name and self.age == other.age

person1 = Person("Alice", 30)
person2 = Person("Alice", 30)
print(person1 == person2)

Output:

True

__add__: जोड सञ्चालन अनुकूलित गर्ने

  • + अपरेटर कसरी व्यवहार गर्दछ भन्ने कुरा परिभाषित गर्दछ।

उदाहरण

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

    def __str__(self):
        return f"Point({self.x}, {self.y})"

point1 = Point(1, 2)
point2 = Point(3, 4)
result = point1 + point2
print(result)

Output:

Point(4, 6)

४.३। विशेष विधिहरूको व्यावहारिक उदाहरणहरू

उदाहरण: कस्टम कक्षामा विशेष विधिहरू प्रयोग गर्ने

class BankAccount:
    def __init__(self, owner, balance):
        self.owner = owner
        self.balance = balance

    def __str__(self):
        return f"{self.owner}'s account balance: {self.balance} yen"

    def __add__(self, other):
        return BankAccount(self.owner, self.balance + other.balance)

account1 = BankAccount("Alice", 5000)
account2 = BankAccount("Alice", 3000)
merged_account = account1 + account2
print(merged_account)

Output:

Alice's account balance: 8000 yen

यो उदाहरणमा, हामी __add__ विशेष विधि प्रयोग गर्छौं जसले दुई बैंक खाताहरूलाई एकसाथ जोड्न अनुमति दिन्छ।

४.४। विशेष विधिहरूका फाइदाहरू

  • कोड पढ्न सकिने सुधार : वस्तुहरूमा सञ्चालनहरू थप सहज हुन्छन्।
  • अनुकूलन योग्यता : तपाईंको कक्षाका लागि विशिष्ट व्यवहार परिभाषित गर्न सकिन्छ।
  • पाइथनको लचकताको लाभ लिने : तपाईं बिल्ट-इन फङ्क्सनहरू र अपरेटरहरू विस्तार गर्न सक्नुहुन्छ।

५। बिल्ट-इन डाटा प्रकार विधिहरूको अवलोकन

पाइथनले सूचीहरू, शब्दकोशहरू र स्ट्रिङहरू जस्ता बिल्ट-इन डाटा प्रकारहरू प्रदान गर्दछ, र तिनीहरूका लागि धेरै सुविधाजनक विधिहरू उपलब्ध छन्। यो खण्डले सूचीहरू, शब्दकोशहरू र स्ट्रिङहरूका लागि सामान्यतया प्रयोग हुने विधिहरूमा केन्द्रित छ, प्रत्येकलाई उदाहरणसहित कसरी प्रयोग गर्ने भनेर व्याख्या गर्दछ।

५.१। सूची (list) विधिहरू

सूचीहरू पाइथनका मुख्य डाटा प्रकारहरू मध्ये एक हुन् र डाटा संग्रहहरू ह्यान्डल गर्न धेरै उपयोगी छन्।

append()

सूचीको अन्तमा नयाँ तत्व थप्दछ। उदाहरण

fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)

Output:

['apple', 'banana', 'cherry']

extend()

अर्को सूचीबाट तत्वहरू थपेर सूची विस्तार गर्दछ। उदाहरण

numbers = [1, 2, 3]
numbers.extend([4, 5, 6])
print(numbers)

Output:

[1, 2, 3, 4, 5, 6]

insert()

निर्दिष्ट स्थानमा तत्व घुसाउँछ। उदाहरण

colors = ["red", "blue"]
colors.insert(1, "green")
print(colors)

Output:

['red', 'green', 'blue']

remove()

सूचीबाट निर्दिष्ट मानलाई हटाउँछ (पहिलो घटना मात्र)। उदाहरण

numbers = [1, 2, 3, 2]
numbers.remove(2)
print(numbers)

आउटपुट:

[1, 3, 2]

sort()

सूचीका तत्वहरूलाई आरोही क्रममा क्रमबद्ध गर्दछ। उदाहरण

numbers = [5, 3, 8, 1]
numbers.sort()
print(numbers)

आउटपुट:

[1, 3, 5, 8]

5.2. डिक्शनरी (dict) विधिहरू

डिक्शनरीहरू कुञ्जी‑मूल्य जोडीहरू व्यवस्थापन गर्न उपयुक्त डेटा प्रकार हो।

get()

निर्दिष्ट कुञ्जीको मान प्राप्त गर्दछ। यदि कुञ्जी अवस्थित छैन भने, पूर्वनिर्धारित मान फिर्ता गर्दछ। उदाहरण

person = {"name": "Alice", "age": 30}
print(person.get("name"))
print(person.get("gender", "Not specified"))

आउटपुट:

Alice
Not specified

keys()

डिक्शनरीका सबै कुञ्जीहरू प्राप्त गर्दछ। उदाहरण

person = {"name": "Alice", "age": 30}
print(person.keys())

आउटपुट:

dict_keys(['name', 'age'])

values()

डिक्शनरीका सबै मानहरू प्राप्त गर्दछ। उदाहरण

person = {"name": "Alice", "age": 30}
print(person.values())

आउटपुट:

dict_values(['Alice', 30])

items()

कुञ्जी‑मूल्य जोडीहरूलाई ट्युपलको रूपमा फिर्ता गर्दछ। उदाहरण

person = {"name": "Alice", "age": 30}
print(person.items())

आउटपुट:

dict_items([('name', 'Alice'), ('age', 30)])

update()

डिक्शनरीलाई अद्यावधिक गर्दछ। यदि कुञ्जी अवस्थित छ भने, यसको मान ओभरराइट हुन्छ; अन्यथा, नयाँ कुञ्जी‑मूल्य जोडी थपिन्छ। उदाहरण

person = {"name": "Alice"}
person.update({"age": 30, "gender": "Female"})
print(person)

आउटपुट:

{'name': 'Alice', 'age': 30, 'gender': 'Female'}

5.3. स्ट्रिङ (str) विधिहरू

स्ट्रिङ हेरफेर प्रोग्रामिङमा सामान्य कार्य हो।

upper()

स्ट्रिङलाई पूरै ठूलो अक्षरमा रूपान्तरण गर्दछ। उदाहरण

text = "hello"
print(text.upper())

आउटपुट:

HELLO

lower()

स्ट्रिङलाई पूरै सानो अक्षरमा रूपान्तरण गर्दछ। उदाहरण

text = "HELLO"
print(text.lower())

आउटपुट:

hello

replace()

निर्दिष्ट उपस्ट्रिङको घटनाहरूलाई अर्को स्ट्रिङसँग बदल्दछ। उदाहरण

text = "I like Python"
print(text.replace("Python", "programming"))

आउटपुट:

I like programming

split()

निर्दिष्ट विभाजक प्रयोग गरी स्ट्रिङलाई विभाजन गरी सूचीको रूपमा फिर्ता गर्दछ। उदाहरण

text = "apple,banana,cherry"
print(text.split(","))

आउटपुट:

['apple', 'banana', 'cherry']

strip()

स्ट्रिङको सुरु र अन्तको खाली स्थान (whitespace) हटाउँछ। उदाहरण

text = "   hello   "
print(text.strip())

आउटपुट:

hello

5.4. निर्मित डेटा प्रकार विधिहरूको प्रयोग

उपरोक्त परिचित गराइएका विधिहरू पायथन प्रोग्रामिङमा धेरै बारम्बार प्रयोग हुन्छन्। तिनीहरूलाई उपयुक्त रूपमा प्रयोग गरेर, तपाईं संक्षिप्त र प्रभावकारी कोड लेख्न सक्नुहुन्छ।

6. पायथन विधिहरूको प्रयोग गरेर प्रभावकारी प्रोग्रामिङ उदाहरणहरू

पायथन विधिहरूलाई प्रभावकारी रूपमा प्रयोग गरेर, तपाईं जटिल कार्यहरूलाई संक्षिप्त रूपमा लेख्न र विकास कार्यक्षमता सुधार्न सक्नुहुन्छ। यो भागले ठोस परिदृश्यहरूमा आधारित विधिहरूको प्रयोगका व्यावहारिक उदाहरणहरू प्रस्तुत गर्दछ।

6.1. डेटा विश्लेषणमा विधिहरूको प्रयोगका उदाहरणहरू

डेटा विश्लेषणमा, सूची र डिक्शनरीहरूलाई बारम्बार हेरफेर गरिन्छ। पायथन विधिहरूको प्रयोगले डेटा आकार निर्धारण र हेरफेरलाई सजिलो बनाउँछ। उदाहरण: डेटासेटबाट विशिष्ट शर्तहरू पूरा गर्ने डेटा निकाल्ने

data = [
    {"name": "Alice", "age": 25, "score": 85},
    {"name": "Bob", "age": 30, "score": 90},
    {"name": "Charlie", "age": 22, "score": 70}
]

# Extract people with scores of 80 or higher
filtered_data = [person for person in data if person["score"] >= 80]
print(filtered_data)

आउटपुट:

[{'name': 'Alice', 'age': 25, 'score': 85}, {'name': 'Bob', 'age': 30, 'score': 90}]

यहाँ, डिक्शनरी पहुँच र सूची अभिव्यक्तिहरूलाई संयोजन गरेर, हामी शर्तहरू पूरा गर्ने डेटा संक्षिप्त रूपमा निकाल्छौं।

6.2. API अपरेसनका लागि विधिहरूको प्रयोगका उदाहरणहरू

API प्रयोग गर्दा, प्रायः स्ट्रिङ हेरफेरलाई सूची प्रक्रिया संग संयोजन गर्न आवश्यक पर्छ। उदाहरण: API बाट प्राप्त डेटा स्वरूपण

response = [
    {"id": 1, "name": "Alice", "active": True},
    {"id": 2, "name": "Bob", "active": False},
    {"id": 3, "name": "Charlie", "active": True}
]

# Get the names of active users
active_users = [user["name"].upper() for user in response if user["active"]]
print(active_users)

आउटपुट:

['ALICE', 'CHARLIE']

यस उदाहरणमा, upper() मेथडलाई नामहरूलाई ठूलो अक्षरमा रूपान्तरण गर्न र सर्तहरू पूरा गर्ने डेटा मात्र निकाल्न प्रयोग गरिएको छ।

6.3. फाइल अपरेसनहरूका लागि मेथडहरू प्रयोग गर्ने उदाहरणहरू

फाइलहरू पढ्ने र लेख्ने कार्यहरू धेरै प्रोग्रामहरूमा आधारभूत अपरेसनहरू हुन्। पायथनमा, तपाईंले निर्मित मेथडहरू प्रयोग गरेर यी कार्यहरू संक्षिप्त रूपमा गर्न सक्नुहुन्छ।
उदाहरण: टेक्स्ट फाइलबाट डेटा पढ्ने र प्रक्रिया गर्ने

# Create a file and write to it
with open("data.txt", "w") as file:
    file.write("apple,banana,cherry
orange,grape,melon")

# Read the file and convert it to a list
with open("data.txt", "r") as file:
    content = file.readlines()

# Process each line and store it in a list
data = [line.strip().split(",") for line in content]
print(data)

आउटपुट:

[['apple', 'banana', 'cherry'], ['orange', 'grape', 'melon']]

यस उदाहरणमा, strip()split() मेथडहरूलाई फाइल डेटा स्वरूपित गर्न प्रयोग गरिएको छ।

6.4. क्लास मेथडहरू र स्ट्याटिक मेथडहरू लागू गर्ने उदाहरणहरू

क्लास मेथडहरू र स्ट्याटिक मेथडहरू प्रयोग गरेर, तपाईंले कोडलाई मोड्युलर बनाउन र पुन: प्रयोगयोग्यता बढाउन सक्नुहुन्छ।
उदाहरण: प्रयोगकर्ता जानकारी प्रक्रिया गर्ने क्लास

class UserProcessor:
    @staticmethod
    def validate_email(email):
        return "@" in email and "." in email

    @classmethod
    def from_csv(cls, csv_line):
        name, email = csv_line.strip().split(",")
        return {"name": name, "email": email, "valid": cls.validate_email(email)}

# Process CSV data
csv_data = [
    "Alice,alice@example.com",
    "Bob,bob_at_example.com",
    "Charlie,charlie@example.com"
]

users = [UserProcessor.from_csv(line) for line in csv_data]
print(users)

आउटपुट:

[{'name': 'Alice', 'email': 'alice@example.com', 'valid': True},
 {'name': 'Bob', 'email': 'bob_at_example.com', 'valid': False},
 {'name': 'Charlie', 'email': 'charlie@example.com', 'valid': True}]

यस उदाहरणमा, स्ट्याटिक मेथडले इमेल ठेगानाको वैधता जाँच गर्छ, र क्लास मेथडले CSV डेटा बाट प्रयोगकर्ता जानकारी उत्पन्न गर्छ।

6.5. डेटा भिजुअलाइजेसनका लागि मेथडहरू प्रयोग गर्ने उदाहरणहरू

डेटा दृश्यात्मक रूपमा प्रस्तुत गर्न, सूचीहरू र शब्दकोशहरूलाई स्वरूपित गरेर चार्टिङ लाइब्रेरीहरूमा पास गर्नु सामान्य हो।
उदाहरण: शब्दकोश डेटा बाट बार चार्ट बनाउने

import matplotlib.pyplot as plt

scores = {"Alice": 85, "Bob": 90, "Charlie": 70}

# Format the data
names = list(scores.keys())
values = list(scores.values())

# Plot the chart
plt.bar(names, values)
plt.title("Scores of Students")
plt.xlabel("Names")
plt.ylabel("Scores")
plt.show()

यस उदाहरणमा, शब्दकोशका कुञ्जीहरू र मानहरूलाई चार्ट बनाउनु अघि सूचीमा रूपान्तरण गरिन्छ।

6.6. मेथडहरू प्रयोग गर्ने मुख्य बुँदाहरू

  1. उपयुक्त डेटा प्रकार चयन गर्नुहोस् : सूचीहरू र शब्दकोशहरूको विशेषताहरू बुझ्नुहोस् र प्रभावकारी मेथडहरू प्रयोग गर्नुहोस्।
  2. निर्मित मेथडहरू सक्रिय रूपमा प्रयोग गर्नुहोस् : मानक पुस्तकालयले प्रदान गर्ने मेथडहरू अनुकूलित र प्रभावकारी हुन्छन्।
  3. सूची अभिव्यक्तिहरूसँग संयोजन गर्नुहोस् : सर्तीय डेटा अपरेसनका लागि, सूची अभिव्यक्तिहरू प्रयोग गर्दा कोड संक्षिप्त रहन्छ।

7. बारम्बार सोधिने प्रश्नहरू (FAQ)

पायथन मेथडहरू सिक्दा, धेरै मानिसहरूलाई प्रश्नहरू हुन्छन्। हामीले तिनीहरूलाई FAQ मा संक्षेप गरेका छौं जसले मेथडहरूको बुझाइलाई गहिरो बनाउन मद्दत गर्छ।

प्रश्न १. मेथडहरू र फङ्सनहरू कसरी फरक छन्?

मेथडहरू र फङ्सनहरू समान छन्, तर मुख्य भिन्नताहरू तल दिइएका छन्।

Item

विधि

कार्य

जहाँ परिभाषित गरिएको छ

क्लास भित्र

क्लास बाहिर परिभाषित गर्न सकिन्छ

उनीहरूलाई कसरी बोलिन्छ

इन्स्टेन्स वा वर्गमार्फत कल गरिएको

प्रत्यक्ष रूपमा कल गरियो

Association

विशिष्ट वस्तु वा वर्गसँग सम्बन्धित (self वा cls प्रयोग गर्दछ)

स्वतन्त्र रूपमा सञ्चालन गर्नुहोस्

मुख्य उद्देश्य

वस्तु डेटा हेरफेर गर्नुहोस्

सामान्य उद्देश्यका कार्यहरू गर्नुहोस्

प्रश्न २. विशेष (मैजिक) मेथडहरू कहिले प्रयोग गर्नुहुन्छ?

विशेष मेथडहरू (मैजिक मेथडहरू) मुख्यतया तलका स्थितिहरूमा प्रयोग गरिन्छ।

  • वस्तु आरम्भिकरण: __init__ प्रयोग गरेर गुणहरू आरम्भ गर्नुहोस्।
class Example:
    def __init__(self, name):
        self.name = name
  • वस्तुको स्ट्रिङ प्रतिनिधित्वलाई अनुकूलन गर्नुहोस्: __str__ प्रयोग गरेर print() र str() को आउटपुटलाई नियन्त्रण गर्नुहोस्।
class Example:
    def __str__(self):
        return "Custom String"
  • अपरेटरको व्यवहारलाई अनुकूलन गर्नुहोस्: __add____mul__ प्रयोग गरेर जोड र तुलना कसरी काम गर्छन् परिवर्तन गर्नुहोस्।
class Number:
    def __add__(self, other):
        return "Custom Addition"

Q3. क्लास मेथड र स्ट्याटिक मेथड बीचको फरक के हो?

Item

क्लास विधि

स्थिर विधि

Decorator

@classmethod

@staticmethod

पहिलो तर्क

cls (क्लास आफैलाई प्राप्त गर्दछ)

None

कुनै कुरा पहुँच गर्न सकिन्छ

क्लास गुणहरू र अन्य क्लास विधिहरू पहुँच गर्न सकिन्छ

सामान्य-उद्देश्यको प्रक्रिया, वर्ग वा उदाहरणबाट स्वतन्त्र

प्रयोग केसहरू:

  • क्लास मेथड: क्लास-स्तरको डेटा हेरफेर गर्नुहोस्।
@classmethod
def method_name(cls):
    pass
  • स्ट्याटिक मेथड: स्वतन्त्र गणना वा रूपान्तरणहरू गर्नुहोस्।
@staticmethod
def method_name():
    pass

8. सारांश र आगामी कदमहरू

8.1. लेखको पुनरावलोकन

हामीले पाइथन मेथडहरूलाई आधारभूतदेखि उन्नत विषयहरू सम्म अन्वेषण गरेका छौं। मेथडहरू वस्तु-उन्मुख प्रोग्रामिङ बुझ्नका लागि एक महत्वपूर्ण अवधारणा हो र प्रभावकारी, संक्षिप्त कोड लेख्न आवश्यक छन्। तल यस लेखमा समेटिएका मुख्य बुँदाहरू छन्।

  1. मेथडहरूको आधारभूत :
  • मेथड भनेको विशेष वस्तुसँग सम्बन्धित फङ्क्शन हो; यसले वस्तुको अवस्था हेरफेर गर्न वा विशिष्ट अपरेसनहरू गर्न सक्छ।
  • मेथडहरू र फङ्क्शनहरू कसरी फरक छन् बुझेर तपाईंले तिनीहरूलाई उपयुक्त रूपमा प्रयोग गर्न सक्नुहुन्छ।
  1. मेथडका तीन प्रकार :
  • इन्स्टेन्स मेथडहरू: इन्स्टेन्सका विशेषताहरूमा काम गर्छन्।
  • क्लास मेथडहरू: सम्पूर्ण क्लाससँग सम्बन्धित अपरेसनहरू गर्छन्।
  • स्ट्याटिक मेथडहरू: क्लास वा इन्स्टेन्समा निर्भर नहुने सामान्य उद्देश्यका अपरेसनहरू गर्छन्।
  1. विशेष मेथडहरू (म्याजिक मेथडहरू) :
  • यी मेथडहरू वस्तुको इनिशियलाइजेशन, स्ट्रिङ प्रतिनिधित्व, तुलना अपरेसन, अपरेटरको व्यवहार आदि अनुकूलन गर्न प्रयोग हुन्छन्।
  1. बिल्ट-इन डेटा प्रकार मेथडहरू :
  • सूची, शब्दकोश, स्ट्रिङ र अन्य प्रकारहरूमा निर्मित सुविधाजनक मेथडहरू प्रयोग गर्दा दैनिक डेटा प्रोसेसिङ सजिलो हुन्छ।
  1. प्रभावकारी प्रोग्रामिङका उदाहरणहरू :
  • डेटा विश्लेषण, API अन्तरक्रिया, र फाइल ह्यान्डलिङ जस्ता व्यावहारिक परिदृश्यहरू मार्फत मेथडहरू कसरी लागू गर्ने सिक्यौं।
  1. सामान्य प्रश्नहरूको उत्तर :
  • मेथड र फङ्क्शन बीचको फरक, शुरुआतीहरूले कुन मेथड सिक्नुपर्छ, र विशेष मेथडहरू कसरी प्रयोग गर्ने जस्ता प्रश्नहरू स्पष्ट गर्यौं।

8.2. आगामी कदमहरू

यस लेखबाट पाइथन मेथडहरूको आधारभूत ज्ञान प्राप्त गरेर, तपाईं अब आगामी कदमहरूमा जान तयार हुनुहुन्छ। तल तपाईंको सीपलाई अझ सुधार्नका लागि सिफारिस गरिएका विषयहरू छन्।

  1. वस्तु-उन्मुख प्रोग्रामिङ (OOP) गहिरो बनाउनुहोस् :
  • मेथडहरू प्रयोग गर्नु OOP को भाग हो। इनहेरिटेन्स, पोलिमोर्फिज्म, एब्स्ट्र्याक्ट क्लासहरू आदि अवधारणाहरू सिकेर वस्तु-उन्मुख डिजाइनका सिद्धान्त बुझ्नुहोस्।
  • उदाहरणहरू अध्ययन गर्नुहोस्: क्लास इनहेरिटेन्स, डिजाइन प्याटर्नहरू।
  1. डेकोरेटरहरू र तिनका प्रयोगहरू :
  • क्लास र स्ट्याटिक मेथडहरू सिकेपछि, तपाईंले डेकोरेटरहरूको आधारभूत बुझ्नुभयो। अब डेकोरेटरहरू सिर्जना गर्ने र उन्नत प्रयोगहरूमा जानुहोस्।
  • उदाहरणहरू अध्ययन गर्नुहोस्: @property, कस्टम डेकोरेटरहरू सिर्जना गर्नु।
  1. स्ट्यान्डर्ड लाइब्रेरी र बाह्य लाइब्रेरीहरूको प्रयोग :
  • पाइथनको स्ट्यान्डर्ड लाइब्रेरीमा धेरै उपकरणहरू छन् जसले प्रभावकारी प्रोग्रामिङ सम्भव बनाउँछ। साथै, बाह्य लाइब्रेरीहरू प्रयोग गर्दा थप उन्नत प्रोसेसिङ गर्न सकिन्छ।
  • उदाहरणहरू अध्ययन गर्नुहोस्: pandas, NumPy, matplotlib.
  1. प्रोजेक्ट-आधारित सिकाइ :
  • वास्तविक प्रोजेक्टहरूमा काम गर्दा मेथडहरूको व्यावहारिक प्रयोग सिक्न मद्दत मिल्छ। साना प्रोजेक्टहरूबाट सुरु गरी क्रमशः दायरा बढाउनुहोस्।
  • प्रोजेक्ट उदाहरणहरू: सरल CRUD एप्स, डेटा-प्रोसेसिङ स्क्रिप्टहरू।
  1. अधिकारिक दस्तावेजीकरण प्रयोग गर्नुहोस् :
  • पाइथनको अधिकारिक दस्तावेजीकरण सधैं हेर्ने बानी बनाउनुहोस् जसले नवीनतम जानकारी प्रदान गर्छ। यसले अपरिचित मेथडहरू र सुविधाहरू सिक्न पनि मद्दत गर्छ।
Python documentation

The official Python documentation.…

8.3. अन्तिम विचारहरू

पाइथन मेथडहरूलाई बुझेर र लागू गरेर, तपाईंले कोडको गुणस्तर सुधार्न र समस्याहरूलाई अझ प्रभावकारी रूपमा समाधान गर्न सक्नुहुन्छ। यहाँबाट, व्यावहारिक प्रोजेक्टहरू र थप अध्ययन मार्फत आफ्नो सीपलाई निखार्नुहोस् ताकि पाइथन मेथडहरूलाई आत्मविश्वासका साथ प्रयोग गर्न सक्नुहोस्।