Sobes.tech
Middle

A sinifinin hər bir metodunu necə çağırmaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

Tutaq ki, A sinfi və metodlar var:

import time

class A:
    def what_time(self):
        return f'{time.time()}'

    @property
    def useless_getter(self):
        return self.text

    def __private_or_public(self):
        return 1

    def __str__(self):
        return self.text

    def __init__(self, text):
        self.text = text

Hər bir metodu çağırmaq üçün:

  • what_time — adi metod, nümunə vasitəsilə çağırılır:

    a = A('salam')
    print(a.what_time())
    
  • useless_getter — xüsusiyyət, mötərizə olmadan atribut kimi çağırılır:

    print(a.useless_getter)
    
  • __private_or_public — iki alt xətlə işarələnmiş metod, adı dəyişir (name mangling), çağırmaq üçün:

    print(a._A__private_or_public())
    
  • __str__ — xüsusi metod, avtomatik olaraq çevrilmə zamanı çağırılır:

    print(str(a))
    

Buna görə, iki alt xətlə gizli metodu çağırmaq üçün, sinif adı ilə istifadə edilməlidir: _A__private_or_public().