Python里到底什么才算method?
您已经看过
[清空]
    fa-home|fa-star-o
    域名查询linux虚拟主机域名注册主机域名rpc服务器不可用注册域名私人服务器vps美国服务器租用多少钱一年时间同步服务器
    当前位置:网站交易_网站买卖_高权重网站出售_权重域名>日收高权重域名>Python里到底什么才算method?

    Python里到底什么才算method?

    先从最初的问题开始说起,在Python中,凡是符合(类).(名称)为callable的,例如B.myfunc,都可以叫做method。如果B有个实例b,则它们都可以通过b.myfunc()的形式来调用。有的时候,如果b的某个成员为callable,但不是来自类B,也可以认为形式上是一个method,可以理解为一种假的method,这里暂不包括在内。

    nethod的区别在于它们响应__get__的方式。完全不响应的是staticmethod,通过实例调用时没有额外参数;附加类为参数的叫classmethod,不仅可以通过b.myfunc()调用,B.myfunc()也会自动加上类作为参数。最后最常见的也就是instancemethod,从实例调用时自动附近实例作为第一个参数。

    系统库这里是使用instancemethod的等价形式调用,这没有问题,因为语法规定__exit__本就应该是instancemethod,而你的__exit__是个boundmethod,不支持__get__,实际相当于staticmethod,自然就不匹配了,使用with不报错只是这一版实现偶然支持而已。

    Python里到底什么才算method?》由《网站交易_网站买卖_高权重网站出售_权重域名》整理呈现,请在转载分享时带上本文链接,谢谢!

    支持Ctrl+Enter提交
    网站交易_网站买卖_高权重网站出售_权重域名 © All Rights Reserved.  Copyright Your WebSite.Some Rights Reserved.
    Powered by 网站交易 Themes by 日收域名出售