Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Dynamic return ?
#1
I receive in a function two parameters (Class and Method) with dynamic values that serve to reference a certain class and access the method on the return of the function. Working with dynamic data I imagined something like this :

v_return = v_class + "." + v_method + "()"
return v_return
The problem is that I need to execute the return to call the class method retrieved in the parameter and not print the string on the screen :

Main.index()
Reply
#2
Another possibility would be utilizing dicts to register the objects and have a lookup() method. Something like this:

class Test:
	def a(self):
		return 5

	def b(self):
		return 10

	def lookup(self, meth):
		return {"a": self.a, "b": self.b}.get(meth, self.a)

x = Test()
x.lookup("b")()
In addition to this, you would need another dict to store instances and look them up.
Reply
#3
(Mar-30-2020, 10:28 PM)stullis Wrote: Another possibility would be utilizing dicts to register the objects and have a lookup() method. Something like this:

class Test:
	def a(self):
		return 5

	def b(self):
		return 10

	def lookup(self, meth):
		return {"a": self.a, "b": self.b}.get(meth, self.a)

x = Test()
x.lookup("b")()
In addition to this, you would need another dict to store instances and look them up.
getattr()
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020