Python 中是否可以修改或至少拒绝执行内置函数?出于教育目的,我需要确保字符串分割不可用。
例如,我想要,如果打电话
'a,b,c'.split(',')
抛出异常或返回输入的字符串。
我想强制某人编写该函数的自己版本。是否可以?
提前致谢!
最佳答案
内置类型(在你的例子中是 str )和方法不能进行猴子修补,因为它们是用 C 实现的(用于 cpython 实现)。
但是,您可以定义子类并重新定义方法:
>>> class Mystr(str):
... def split(self, *args):
... raise Exception("Split is not defined")
...
>>> Mystr("test").split(",")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in split
Exception: Split is not defined
关于string - python 修改内置字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31718350/