关于python的静态方法

关于“Python的静态方法”很多学习py的同学不太了解,今天幕客就来总结下。

python的静态方法仅在类中出现,和许多语言(C、JAVA)的静态方法一样。有了静态方法我们能方便的用类直接调用方法,可以不用先实例化的优点。即使子类,也可议改写父类中的静态方法。

下面幕客用两个例子。

一、说下调用类的静态方法,可以不用先实例化

python的静态方法仅仅是类的函数(注意:是类的函数,不是实例的),所以我们调用类的静态方法,可以不用先实例化,然后直接调用,如下:

In [30]: class Myclass(object):

...: @staticmethod

...: def static_method(x):

...: print "static method echo....",x

...:

In [31]: Myclass.static_method('imoocc')

static method echo.... imoocc

但方法不是静态方法,是不可以调用的,如下:

In [34]: class Myclass(object):

...: def normal_method(x):

...: print "normal method echo ...",x

...:

In [35]: sm = Myclass()

In [36]: Myclass.normal_method('imoocc')

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in ()

----> 1 Myclass.normal_method('2')

TypeError: unbound method normal_method() must be called with Myclass instance as first argument (got str instance instead)

二、父类中的静态方法可议通过子类重新定制

In [5]: class childclass(Myclass):

...: @staticmethod

...: def normal_method(x):

...: print "child method echo ...",x

...:

In [6]: childclass.normal_method('imoocc')

child method echo ... imoocc

关注幕客技术,将提供更多的python技术知识~

鼓励一句:

Money is not the problem, the problem is money!

本文来自企鹅号 - IMOOCC技术分享媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏镁客网

柯洁说,去年AlphaGo还比较接近于人,现在它越来越像围棋上帝!

1254
来自专栏机器人网

为了围棋与情怀,为了豪言壮志,柯洁阿尔法终须一战

李世石与AlphaGo人机大战虽然已经过了将近2个月的时间,但由此引发的人工智能热潮却丝毫不减。中国作为围棋的发源地,柯洁作为目前人类棋手的第一人,AlphaG...

2644
来自专栏量子位

最终一战柯洁再负AlphaGo,此后再无围棋人机大战

唐旭 舒石 发自 乌镇 量子位 报道 | 公众号 QbitAI 5月27日,人机大战第三场,天气晴朗。 经过209手的博弈,主动要求执白的柯洁再次负于Alpha...

33013
来自专栏机器之心

业界 | DeepMind发布AlphaGo 50局自我对弈棋谱

选自DeepMind 机器之心编译 参与:机器之心编辑部 5 月 27 日,升级后的 AlphaGo 所向披靡,最终以 3:0 赢下了乌镇围棋人机大战。在此期...

3737
来自专栏量子位

围棋人机大战明日上演,这份观赛指南请留好

问耕 假装发自乌镇 量子位 报道 | 公众号 QbitAI ? 柯洁与AlphaGo的围棋人机大战,将于明天正式上演。以下内容是量子位整理的一份观赛指南,以及目...

2547
来自专栏镁客网

人机大战落幕: 柯洁三场全败,AlphaGo横扫人类称王

1422
来自专栏新智元

2017年AI在游戏中完胜人类,2060年通吃一切人类任务

编辑:Cecilia 【新智元导读】2017 年,AI在各种游戏中横扫人类: 在围棋比赛中,AlphaGo Master战胜世界排名最高的柯洁,随后又衍生出Al...

2614
来自专栏机器之心

现场报道 | AlphaGo被授职业九段,DeepMind将公开其所有版本细节

机器之心原创 记者:杜夏德 5 月 27 日,经过 3 小时 38 分钟的鏖战,209 手,柯洁盘中投子再负 AlphaGo,至此中国乌镇围棋峰会圆满告落。赛后...

3397
来自专栏量子位

腾讯AI让二子,柯洁还是输了

问耕 发自 凹非寺 这是围棋人机大战中的又一个第一次。 顶级职业围棋手,在让子棋中负于AI。 ? 更明确一点说,腾讯围棋AI绝艺,让二子战胜了当今围棋第一人柯...

2178
来自专栏量子位

AI再乱围棋圈:“食言之战”柯洁落败;首例素人作弊引风波

去年12月底,曾经放言不再与AI进行正式比赛的柯洁,公开宣布“食言”。现在,这场柯洁的“实验之战”胜负已分。

551

扫码关注云+社区