📅  最后修改于: 2023-12-03 15:28:25.442000             🧑  作者: Mango
在 Python 中,我们可以通过字符串的方式来调用类函数。这在某些时候非常方便,例如当你需要根据某些条件来调用不同的类函数时。
下面是一些示例代码,让你可以更好地理解如何通过字符串调用类函数。
class MyClass:
def foo(self):
print('foo is called')
def bar(self):
print('bar is called')
my_class = MyClass()
func_name = 'foo'
getattr(my_class, func_name)()
func_name = 'bar'
getattr(my_class, func_name)()
该示例中定义了一个 MyClass 类,它包含了 foo 和 bar 两个函数。然后我们实例化了 MyClass 类,并通过字符串的方式依次调用了 foo 和 bar 函数。
输出如下:
foo is called
bar is called
class MyClass:
def foo(self):
print('foo is called')
def bar(self):
print('bar is called')
my_class = MyClass()
condition = True
func_name = 'foo' if condition else 'bar'
getattr(my_class, func_name)()
该示例中也是定义了一个 MyClass 类,然后我们定义了一个 condition 变量,如果 condition 为 True,则执行 foo 函数,否则执行 bar 函数。
输出如下:
foo is called
class MyClass:
def foo(self):
print('foo is called')
def bar(self):
print('bar is called')
my_class = MyClass()
func_name = 'baz'
try:
getattr(my_class, func_name)()
except AttributeError:
print(f"MyClass has no attribute '{func_name}'")
该示例中我们尝试调用 MyClass 类中不存在的函数 baz,然后我们通过 try...except 来捕获 AttributeError,输出提示信息。
输出如下:
MyClass has no attribute 'baz'
以上就是通过字符串 Python 调用类函数的几个示例,希望能对您有所帮助。