Edit detail for NazevMetody revision 1 of 1

1
Editor: pycz
Time: 2007/01/11 16:19:35 GMT+0
Note:

changed:
-
Jak zjistit název metody uvnitř třídy?
=======================================

a.
---
::

  class C:
      def m1(self):
           print self.m1.__name__

b.
----
::

  import sys
  
  class a:
      def aa(self):
          print "ja jsem metoda:", sys._getframe(0).f_code.co_name
  
  x=a()
  x.aa()

c.
-----
::

  class a:
      def aa(self):
          import inspect
          frame = inspect.currentframe()
          info = inspect.getframeinfo(frame)
          print 'Jsem metoda', info[2]
          print 'Podrobnejsi info:', info
  
  x=a()
  x.aa()

d.
----
::

  def JmenoMetody():
      import inspect
      return inspect.stack()[1][3]
  
  class a:
      def aa(self):
          print 'Jsem metoda', JmenoMetody()
  
  x=a()
  x.aa()
  

e.
-----
::

  import sys
  
  def MojeJmeno():
      '''Vraci jmeno volajiciho.'''
      return sys._getframe(1).f_code.co_name
  
  class a:
      def aa(self):
          print 'Jsem metoda', MojeJmeno()
  
  x = a()
  x.aa()


Jak zjistit název metody uvnitř třídy?

a.

class C:
    def m1(self):
         print self.m1.__name__

b.

import sys

class a:
    def aa(self):
        print "ja jsem metoda:", sys._getframe(0).f_code.co_name

x=a()
x.aa()

c.

class a:
    def aa(self):
        import inspect
        frame = inspect.currentframe()
        info = inspect.getframeinfo(frame)
        print 'Jsem metoda', info[2]
        print 'Podrobnejsi info:', info

x=a()
x.aa()

d.

def JmenoMetody():
    import inspect
    return inspect.stack()[1][3]

class a:
    def aa(self):
        print 'Jsem metoda', JmenoMetody()

x=a()
x.aa()

e.

import sys

def MojeJmeno():
    '''Vraci jmeno volajiciho.'''
    return sys._getframe(1).f_code.co_name

class a:
    def aa(self):
        print 'Jsem metoda', MojeJmeno()

x = a()
x.aa()