gpt4 book ai didi

python - 有没有更好的方法将方法作为参数传递?

转载 作者:行者123 更新时间:2023-12-04 11:58:31 27 4
gpt4 key购买 nike

我对编程有点陌生,所以如果这很明显,我很抱歉:有没有比下面显示的更好的方法来将方法作为参数传递?
下面的代码接受一个字符串并打印出其中是否有任何数字、大写/小写字符等:


s = input()

def func1(string):
return string.isalnum()

def func2(string):
return string.isalpha()

def func3(string):
return string.isdigit()

def func4(string):
return string.islower()

def func5(string):
return string.isupper()

def stringthing(func, s):
for i in range(0, len(s)):
if func(s[i]):
return True

return False

print(stringthing(func1, s))
print(stringthing(func2, s))
print(stringthing(func3, s))
print(stringthing(func4, s))
print(stringthing(func5, s))
这有效,但它可以更紧凑吗(即不制作 5 个新功能)?我在那里找不到任何东西,但也许我不知道我在寻找什么。

最佳答案

您可以使用 str 的类方法直接地:

print(stringthing(str.isalnum, s))
print(stringthing(str.isalpha, s))
print(stringthing(str.isdigit, s))
print(stringthing(str.islower, s))
print(stringthing(str.isupper, s))

关于python - 有没有更好的方法将方法作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68124604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com