如何编写像islower,isupper这样的方法?

2024-09-30 01:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个可以和字符串一起使用的方法,就像我们使用"word".isupperreturnFalse,“word”.islower returnTrue,所以我想定义一个类,并想像"word".isspecial()一样使用

所以如果我有一个特殊字符的列表:

special=["&","*",")("]

如果我有一个词,我可以检查“)(”.method(),它返回True,就像我们对“string”.islower()返回True一样

我知道我可以用简单的循环和in运算符来实现这一点,但我想知道如何才能像")(".method()

我尝试的是马车:

^{pr2}$

Tags: 方法字符串intrue列表string定义method
1条回答
网友
1楼 · 发布于 2024-09-30 01:26:15

您可以编写一个函数来执行以下操作:

import string

special_set = set(string.punctuation)

def isspecial(s):
    return all(c in special_set for c in s)

print(isspecial(")("))
print(isspecial(")(*)(&)(*&)*&"))
print(isspecial(")(*)(&)(*&)*&x"))

这将如预期的那样输出:

^{pr2}$

注意我使用了string.punctuation来构建一组“特殊字符”。如果你愿意,你可以手工定义这个集合。在

真的,这是Python式的方法来做你想做的事情-没有理由一定要有一个方法来做这件事。如果你真的坚持,你可以看看this问题以获得更多信息,但要小心它会变得一团糟。在

相关问题 更多 >

    热门问题