Does python have the static function member like C++

7stud bbxx789_05ss at yahoo.com
Tue Apr 10 23:19:02 EDT 2007


On Apr 10, 9:08 pm, "人言落日是天涯,望极天涯不见家" <kelvin.... at gmail.com> wrote:
> I define the class like this:
> class AAA:
>     counter = 0
>     def __init__(self):
>         pass
>     def counter_increase():
>         AAA.counter += 1
>         print "couter now :", AAA.counter
>
> But how could I call the function "counter_incrrease" ?
>
> Thanks !

1)
class AAA:
    counter = 0
    def __init__(self):
        pass
    @staticmethod
    def counter_increase():
        AAA.counter += 1
        print "couter now :", AAA.counter

AAA.counter_increase()


2)
class AAA:
    counter = 0
    def __init__(self):
        pass
    def counter_increase():
        AAA.counter += 1
        print "couter now :", AAA.counter
    counter_increase = staticmethod(counter_increase)

AAA.counter_increase()

3)
class AAA:
    counter = 0
    def __init__(self):
        pass
    def counter_increase(self):
        AAA.counter += 1
        print "couter now :", AAA.counter
aaa = AAA()
AAA.counter_increase(aaa)




More information about the Python-list mailing list