#!/usr/bin/python #-*- coding: utf-8 -*- class Pizza(object): a="AA" def __init__(self): self.name = ‘leon‘ def cook(self): return self.mix_ingredients(self.cheese, self.vegetables) @staticmethod def mix_ingredients(x, y): print Pizza.a #print Pizza.name return x + y @classmethod def hi(cls, x): print cls.a * x print Pizza.mix_ingredients(2,3) print Pizza.hi(3)
区别:
类方法和静态方法都可以被类和类实例调用,类实例方法仅可以被类实例调用
类方法的隐含调用参数是类,而类实例方法的隐含调用参数是类的实例,静态方法没有隐含调用参数
类方法与静态方法都不能访问实例属性(self.name)
可以访问静态属性
---------------------------------------------------------------------------------------------------------
取自网上提供,整理。
本文出自 “Goooood” 博客,请务必保留此出处http://goooood.blog.51cto.com/5060201/1693441
原文地址:http://goooood.blog.51cto.com/5060201/1693441