python中类的用法(对象函数、类函数、静态函数)

对象函数:对象函数直接在类中声明即可,不需要添加装饰器,对象函数只能由对象调用执行,也可由类调用,但是在调用时,需要将一个对象作为参数进行传递,对象函数中有一个self参数,self指调用该函数的对象,例如:对象A调用该函数,self指对象A 对象B调用该函数,self指对象B

类函数:类函数声明前。需要添加装饰器@classmethod,类函数可以由类和对象调用执行,在类函数中有一个cls参数,cls指类型,类调用cls指这个类,对象调用cls指对象类型

静态函数:静态声明前,需要添加装饰器@staticmethod,静态函数可以由类和对象调用执行,在静态函数没有隐形参数,如需要传递参数,在参数列表中声明即可

 

# -*- coding:utf-8 -*-

#类函数和静态函数
class People(object):
    #类变量
    total=0
    def __init__(self,name,age):
        #调用父类的初始化函数
        super(People, self).__init__()
        #初始化当前类对象的一些属性
        self.name=name
        self.age=age
    #对象函数 只能由对象调用
    def eat(self):
        print('该吃饭了。。。')

    #类函数  不用声明对象便可调用
    #装饰器是以@开头,@结构的称之为语法糖,装饰器的作用主要是给一些现有的函数添加一些额外的功能
    @classmethod
    def work(cls,time,*args,**kwargs):
        #cls class 如果是类调用该函数,cls指的是这个类
        #如果是对象调用该函数,cls指得就是这个对象的类型
        print(cls)
    @classmethod
    def sleep(cls):
        print('每一个类函数前必须添加装饰器 @classmethod')



    #静态函数
    # @staticmethod  描述的函数称为静态函数,静态函数可以由类和对象调用,函数中没有隐形参数
    @staticmethod
    def run(time):
        print('跑步%s分钟....'%time)


#对象函数只能由对象调用
# 类函数由类调用、也可以用对象调用
People.work(10)
p1=People('张三',22)
p1.work(10)

#调用静态函数
#类调用静态函数
People.run(100)
#对象调用静态函数
p1.run(50)


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值