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().