Názor k článku Létající cirkus (7) od rw - Pro zacinajici pythonaky (jako jsem ja) pridavam neco...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 10. 2008 0:23

    rw (neregistrovaný)
    Pro zacinajici pythonaky (jako jsem ja) pridavam neco z poslednich novinek verze 2.6 (protoze staticmethod = stacicmethod(..) me poradne vydesilo ..skoro tak, ze jsem uvazoval zda je python to prave)
    class Bla(object):
    
        def __init__(self): 
            self.a = 'abvc'
            self.voltage = 'ac'
    
    #class metoda -----
    
        @classmethod
        def saySomethingClassic(cls):
            print('hi')
            print(cls)
    
    #static metoda -----
    
        @staticmethod
        def saySomethingStatic(txt):
            print(txt)
    
    #property - zpusob 1. -----
    
        voltage = property(doc="hello, this is documentation")
    
        @voltage.getter
        def voltage(self):
            print('voltage getter')
            return self._voltage;
    
        @voltage.setter
        def voltage(self, value=None):
            print('voltage setter')
            self._voltage = value
    
    #property - zpusob 2. -----
    
        @property
        def current(self):
            print('curr getter')
            return self._current
    
        @voltage.deleter   #tohle jde taky
        @current.setter
        def current(self, val = None):
            print('curr setter')
            self._current = val
    
    
    
    a = Bla()
    
    Bla.saySomethingClassic()
    Bla.saySomethingStatic('abcCfc')
    
    print(a.voltage)
    a.voltage = 'adsdasXXXd'
    print(a.voltage)
    print(Bla.voltage.__doc__)
    
    a.current = '1A'
    print(a.current)
    
    ... no presto doufam, ze se odnaucim jako Javista pouzivat settery/gettery :]