python种方法_Python中方法内部的方法

从左到右依次计算每个方法。考虑:>>> s='HELLO'

>>> s.lower()

'hello'

>>> s='HELLO '

>>> s.lower()

'hello '

>>> s.lower().strip()

'hello'

>>> s.lower().strip().upper()

'HELLO'

>>> s.lower().strip().upper().replace('H', 'h')

'hELLO'

要求是链中左侧的对象必须具有右侧方法的可用性。通常这意味着对象是相似的类型——或者至少共享兼容的方法或一个可理解的转换。在

作为一个例子,考虑这个类:

^{pr2}$

注意,作为一种不可变类型,Foo的每个返回都是一个新对象(m1、m2的新Foo或新的float)。现在试试这些方法:>>> foo

4463545376: init

>>> foo.m1()

4463545304: init=>m1

^^^^ different object id

>>> foo

4463545376: init

^^^^ foo still the same because you need to assign it to change

现在分配:>>> foo=foo.m1().m2()

>>> foo

4464102576: init=>m1=>m2

现在使用m3(),它将是一个float;不再是Foo:>>> foo=foo.m1().m2().m3()

>>> foo

.25

现在一个float——不能再使用foo方法了:>>> foo.m1()

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'float' object has no attribute 'm1'>>> foo.as_integer_ratio()

(1, 4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值