#!/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)
可以访问静态属性
---------------------------------------------------------------------------------------------------------
取自网上提供,整理。