python静态方法和类方法的区别_python 静态方法与类方法

#!/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)

可以访问静态属性

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

取自网上提供,整理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值