Как я могу использовать строку в списке в качестве строковых методов в python?

#python #python-3.x #list #loops #class-method

#python #python-3.x #Список #циклы #класс-метод

Вопрос:

Я пытаюсь напечатать некоторую заданную строку тремя различными способами, предоставляемыми строковыми методами, которые находятся внутри списка в виде строк. Есть ли способ преобразовать эти строки в методы, чтобы использовать их во время итерации цикла?

 some_string = "hello people!"


string_operations = [".upper()", ".lower()", ".capitalize()"]
for methods in string_operations:
    print(some_string methods)
 

Ответ №1:

В этом случае вы можете сделать что-то вроде:

 some_string = "hello people!"
string_methods = [str.upper, str.lower, str.capitalize]
for method in string_methods:
    print(method(some_string))
 

Ответ №2:

Если у вас есть методы в виде строк, вы можете сделать это:

 some_string = "hello people!"

methods = ["upper", "lower", "capitalize"]
for method_str in methods:
    method = getattr(str, method_str)
    print(method(some_string))