簡體   English   中英

如何使 function 的參數像變量字符串方法一樣

[英]How to make parameter of function act like variable string methods

我想制作獲取參數的 function 並將其用作其中的方法。 這是我試圖用 string.upper().lower() 方法做的事情。

def caps_lock(case, string):
    print(string.case())


string = 'Hello World'

caps_lock(upper, string)
caps_lock(lower, string)

預期結果

>HELLO WORLD
>hello world

你可以這樣做:

def caps_lock(func, string):
    print(func(string))


string = 'Hello World'

caps_lock(str.upper, string)
caps_lock(str.lower, string)

從技術上講,這也是一種選擇,但我不推薦它:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM