Python类|实例|方法专题_CodingPark编程公园

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# -*- encoding: utf-8 -*-
"""
@File    :   Teacher_Student.py    
@Contact :   ag@team-ag.club
@License :   (C)Copyright 2019-2020, CodingPark

@Modify Time      @Author    @Version    @Desciption
------------      -------    --------    -----------
2020-08-28 15:20   AG         1.0        类学习
"""



class student:
    def __init__(self, name, grade, subject):
        self.name = name
        self.grade = grade
        self.subject = subject

    def do_work(self, time):
        if self.grade > 3 and time >= 5:
            return True

        elif self.grade <= 3 and time > 2:
            return True

        else:
            return False


class teacher:
    def __init__(self, name, subject):
        self.name = name
        self.subject = subject

    def eval(self, StuResult):
        if StuResult:
            print("\n你真棒!")

        else:
            print("\n你还需要努力哟~")




lili = student("lili", 4, 'math')
xiaoxiao = student("lili", 3, 'math')
zhang = teacher("zhang", 'math')

StuResult = lili.do_work(5)
zhang.eval(StuResult)
StuResult = xiaoxiao.do_work(2)
zhang.eval(StuResult)



实例

在这里插入图片描述
在这里插入图片描述

方法

  • 静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用。
  • 实例方法要先生成实例,通过实例调用方法,静态速度很快,但是多了会占内存。
  • 静态内存是连续的,因为是在程序开始时就生成了,而实例申请的是离散的空间,所以当然没有静态方法快,而且静态内存是有限制的,太多了程序会启动不了。
  • 类方法常驻内存,实例方法不是,所以类方法效率高但占内存。
  • 类方法在堆上分配内存,实例方法在堆栈上。

class Message:
    msg = "Python is a smart language"
    def get_msg(self):
        print('the selg is :', self)
        print('attrs of class(Message.msg):', Message.msg)

    @classmethod
    def get_cls_msg(cls):
        '''
        需要频繁使用时,使用了类Function
        '''
        print('the selg is :', cls)
        print('attrs of class(Message.msg):', cls.msg)


mess = Message()
mess.get_msg()
print('----------')
mess.get_cls_msg()




结果展示
在这里插入图片描述

# -*- encoding: utf-8 -*-
"""
@File    :   run1.py    
@Contact :   ag@team-ag.club
@License :   (C)Copyright 2019-2020, CodingPark

@Modify Time      @Author    @Version    @Desciption
------------      -------    --------    -----------
2020-08-29 11:42   AG         1.0         None
"""


class Cat:
    '''
    共有的写在这里「类属性」
    '''
    ears = 2
    legs = 4

    def __init__(self, color):
        '''
        私有的写在这里
        :param color:
        '''
        self.color = color

    @staticmethod
    # 静态方法
    def speak():
        print("Meow,Meow ~ ")


bla_cat = Cat('black')
whi_cat = Cat('white')

print(bla_cat.color)
print(whi_cat.color)

bla_cat.speak()
whi_cat.speak()

print(bla_cat.speak is whi_cat.speak)



结果展示
在这里插入图片描述

在这里插入图片描述

©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页
实付 79.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值