通常我会检查字符串中是否存在子字符串。在Python中,我可以使用string1 = r'c:\users\username\documents\code\crime_data.csv'
print(string1.__contains__('username'))
方法或使用print('username' in string1)
运算符执行此操作,如下所示:
模式1:
__contains__
模式2:
String.contains()
两者都适合我,但我想知道为什么{{1}}隐藏方法,如果模式2优先于1,那么为什么呢?其他编程语言(如C#)在其标准库中都有{{1}}方法。
答案 0 :(得分:3)
重新定义方法in
可以重载__contains__
运算符。
这与例如没有区别。 __add__
(+
),__mul__
(*
)等等。所以重点不是要隐藏方法,而是要使其符合'的惯例。魔术方法',用于重载运算符。