这里我从str类的__new__()方法来说明。

str的__new__(cls,*args)必须传入一个参数cls,他是str的子类(注意不是实例)。

__new__()的返回值是该子类的实例,表现为字符串。

>>> class st(str):
...   def __new__(cls,value,title):
...     ins = str.__new__(cls,value)
...     ins._title = title
...     return ins
...   def title(self):
...     return self._title
...
>>> s = st('hello','hi')
>>> s
'hello'
>>> str.__new__(st,'ok')
'ok'
>>> a = str.__new__(st,'ok')
>>> type(a)
<class '__main__.st'>
>>> a
'ok'

 

 

相关文章:

  • 2021-09-03
  • 2021-04-26
  • 2021-07-06
  • 2021-07-31
  • 2022-01-26
  • 2021-08-13
  • 2022-12-23
  • 2021-07-18
猜你喜欢
  • 2021-10-19
  • 2021-08-11
  • 2022-01-22
  • 2021-08-13
  • 2021-09-29
  • 2022-01-20
  • 2021-05-18
相关资源
相似解决方案