如何在Python循环中打印字符串方法

时间:2020-10-28 00:19:16

标签: python python-3.x

我有以下Python代码:

mystr = 'Hello World'
plist = sorted(list(dir(mystr)))
for p in plist:
    if not p.startswith('__'):
        print(p)
        # print(mystr.p())

循环中的print(p)语句将打印所有从大写到zfill的字符串方法。我实际上想打印从mystr.capitalize()到mystr.zfill()的所有内容,但是print(mystr.p())无法正常工作。有什么办法吗?

1 个答案:

答案 0 :(得分:1)

您可能正在寻找getattr()。请注意,您要打印的某些方法需要参数,因此我尝试了一下。

mystr = 'Hello World'
plist = sorted(list(dir(mystr)))
for p in plist:
    if not p.startswith('__'):
        try:
            print(getattr(mystr, p)())
        except Exception as e:
            print(e)
            # print(mystr.p())