string - python 修改内置字符串函数

标签 string python-2.7 split built-in

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/

相关文章:

c++ - 在 C++ 中从字符串生成唯一无符号整数的最佳方法是什么?

sql - Oracle SQL - 如何根据列中的值重复字符

python - 每 3 个数字将列表中的数字相加

python - 使用多个 bool 运算符在 if 语句中抛出 SyntaxError

java - 拆分数组列表以获取 URL 中的特定信息?

C++ - 通过正则表达式分割字符串

PHP:htmlentities 不使用变量

c++ - 将 std::vector 转换为 char*

python - Odoo 自动操作无法运行或工作

Java - 有关使用 "split()"的帮助