python3 函数function、类class、静态方法@staticmethod、类方法@classmethod、普通方法

1. 函数:

# 定义函数
def 函数():
	pass
	
# 调用方法
x = 函数()

# type(函数):<class 'function'>

2. 类:

(1)类中的方法:

  • 普通方法:带有默认参数self的方法
  • 静态方法:带有@staticmethod装饰器的方法,没有默认参数
  • 类方法:带有@classmethod装饰器的方法,带有默认参数cls
# 定义类
class():

    def 普通方法(self):
        print('这是普通方法')

    @staticmethod
    def 静态方法():
        print('这是静态方法')

    @classmethod
    def 类方法(cls):
        print('这是类方法')

(2)调用方式1-实例:

x =()

x.普通方法()
# 打印:这是普通方法
x.类方法()
# 打印:这是类方法
x.静态方法()
# 打印:这是静态方法

(3)调用方式2-类名调用

.静态方法()
# 打印:这是普通方法.类方法()
# 打印:这是类方法.普通方法()
# 程序报错:TypeError: 普通方法() missing 1 required positional argument: 'self'.
  • 函数、静态方法、类方法、普通方法的区别
print(type(函数))
# <class 'function'>
print(type(x.普通方法))
# <class 'method'>
print(type(x.类方法))
# <class 'method'>
print(type(x.静态方法))
# <class 'function'>
  • 函数是定义在类外面的,可以有参数也可以没有参数,调用时如果函数定义中有必须参数,调用时必须传入必须参数,其他参数可不传;
  • 类中的普通方法带有默认参数self,需要用实例对象调用。调用时忽略self,其他参数同函数处理原则;
  • 类中的静态方法没有默认参数,可用实例对象调用也可以用类名调用,参数同函数处理原则;
  • 类中的类方法带有默认参数cls,可用实例对象调用也可以用类名调用,参数同函数处理原则。
  • 注:self和cls是一般约定的默认参数名称,可以更改为其他名称且功能不受影响,但是一般不建议更改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值