python中的string模块_有没有可能模仿Python中的string模块?
我確認您不能這樣做,因為split()是str object的一個內置屬性,您不能設置內置或擴展的屬性,因為它們是只讀的。在
下面是在嘗試使用Python2.7.10解釋器后進行的一些不確定的測試>>> __builtins__.str.split
>>> type(__builtins__.str.split)
嘗試使用函數重寫它
^{pr2}$
嘗試使用可調用(函數或方法)重寫它
^{3}$
在更深入地研究了CPython源代碼之后[1]。這是Objects/typeobject.c中的一個限制,通過下面的函數列表介紹。此函數檢查我們是否嘗試設置readonly屬性并引發TypeError。在type_setattro(PyTypeObject *type, PyObject *name, PyObject *value)
{
if (!(type->tp_flags & Py_TPFLAGS_HEAPTYPE)) {
PyErr_Format(
PyExc_TypeError,
"can't set attributes of built-in/extension type '%s'",
type->tp_name);
return -1;
}
if (PyObject_GenericSetAttr((PyObject *)type, name, value) < 0)
return -1;
return update_slot(type, name);
}
總結
以上是生活随笔為你收集整理的python中的string模块_有没有可能模仿Python中的string模块?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炒菜油温多少度
- 下一篇: 网易2023Q3财报电话会:《燕云十六声