转:
《流畅的 Python》第 9 章笔记有一个点卡住了。就是关于这个类的 类方法 和 静态方法。
class Demo: @classmethod def klassmeth(*args): print(args) return args @classmethod def testclsmeth(cls): print(cls) @staticmethod def statmeth(*args): print(args) return argsif __name__ == '__main__': Demo.klassmeth() Demo.klassmeth('nihao') Demo.testclsmeth() Demo.statmeth() Demo.statmeth('nihao')# output"""(,)(, 'nihao')()('nihao',)"""
① 书中原话是这样:
按照约定,类方法的第一个参数名为
cls
(但是 Python 不介意具体怎么命名)。
而在 PyCharm 中,这个参数的命名只能为 cls
。
② 这里的参数使用了 *args
,即采用了包裹位置传递的方法。这样可以验证不管怎样调用类方法,它的第一个参数始终是它所属的类。我们可以通过上面的 main
方法的输出来验证。
转:
《流畅的 Python》第 9 章笔记 总结以上是内存溢出为你收集整理的《流畅的 Python》第 9 章笔记全部内容,希望文章能够帮你解决《流畅的 Python》第 9 章笔记所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)