Sobes.tech
Middle

Ինչպե՞ս կանչել A դասի յուրաքանչյուր մեթոդը։

sobes.tech AI

Պատասխան AI-ից

Ենթադրենք, ունենք A դասը և դրա մեթոդները՝

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

Յուրաքանչյուր մեթոդի կանչելու համար՝

  • what_time — սովորական մեթոդ, կանչվում է օրինակով՝

    a = A('բարև')
    print(a.what_time())
    
  • useless_getter — հատկություն, կանչվում է որպես առանց փակագծերի հատկություն՝

    print(a.useless_getter)
    
  • __private_or_public — երկու ստորակետով մեթոդ, անունը փոխվում է (name mangling), որպեսզի կանչվի՝

    print(a._A__private_or_public())
    
  • __str__ — հատուկ մեթոդ, ավտոմատ կերպով կանչվում է տողային ներկայացումի ժամանակ՝

    print(str(a))
    

Այսպիսով, երկու ստորակետով նշված մասնավոր մեթոդը կանչելու համար պետք է օգտագործել դասի անունը՝ _A__private_or_public()։