String python修改内置字符串函数

String python修改内置字符串函数,string,python-2.7,split,built-in,String,Python 2.7,Split,Built In,在Python中是否可以修改或至少拒绝执行内置函数?出于教育目的,我需要确保字符串拆分不可用 例如,我想打电话 'a,b,c'.split(',') 引发异常或返回已输入的字符串 我想强制某人编写该函数的自己版本。可能吗? 提前谢谢 内置类型(在您的例子中是str)和方法不能被猴子补丁,因为它们是用C实现的(对于cpython实现) 但是,您可以定义子类并重新定义方法: >>> class Mystr(str): ... def split(self, *args):

在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
类Mystr(str): ... def拆分(自,*参数): ... 引发异常(“未定义拆分”) ... >>>Mystr(“测试”).split(“,”) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“”,第3行,拆分 例外:未定义拆分
也许
def split(self,*args):
这样它就可以接受默认的无参数了?否则,它会抛出一个关于参数数量的异常。例如,谢谢你,也许我必须使用它!