[英]How to make parameter of function act like variable string methods
I want to make function that gets parameter and use it as a method in it.我想制作获取参数的 function 并将其用作其中的方法。 Here is what I'm trying to do with string.upper().lower() methods.
这是我试图用 string.upper().lower() 方法做的事情。
def caps_lock(case, string):
print(string.case())
string = 'Hello World'
caps_lock(upper, string)
caps_lock(lower, string)
expected result预期结果
>HELLO WORLD
>hello world
You could do:你可以这样做:
def caps_lock(func, string):
print(func(string))
string = 'Hello World'
caps_lock(str.upper, string)
caps_lock(str.lower, string)
This is also an option, technically, but I do not recommend it:从技术上讲,这也是一种选择,但我不推荐它:
def caps_lock(func_name, string):
print(getattr(string, func_name)())
string = 'Hello World'
caps_lock("upper", string)
caps_lock("lower", string)
def do(obj,method,*params):
getattr(obj,method)(*params)
class Testobj:
def bla(self,*args):
print("bla")
print(args)
do(Testobj(),"bla",1,2,3,4)
#prints: bla (1, 2, 3, 4) #prints: bla (1, 2, 3, 4)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.