Python中如何通过遍历函数列表实现字符串方法批量调用?
解决方法
你的代码存在两个核心问题:
- 直接写
lower()、upper()会报错,这些是字符串实例的方法,不能脱离字符串直接调用 - Python不支持
string.i这种动态属性访问语法,需要用getattr()函数实现
以下是两种可正常运行的实现方式:
方式1:存储方法对象
直接将字符串类的方法对象存入列表,调用时传入目标字符串:
string = "XxXxXx" methods = [str.lower, str.upper] for method in methods: print(method(string))
方式2:存储方法名字符串
把方法名称以字符串形式存入列表,通过getattr()从字符串实例中获取对应方法并执行:
string = "XxXxXx" method_names = ["lower", "upper"] for name in method_names: print(getattr(string, name)())
两种方式都能输出和原代码一致的结果:
xxxxxx XXXXXX
内容的提问来源于stack exchange,提问作者user20402136
相关产品推荐
相关产品推荐

