python的类问题

本文通过实例讲解Python中类的定义、属性与方法的使用,包括初始化方法、自定义方法和对象的创建过程。深入探讨了封装的概念,展示了如何通过类实现跑步减重和进食增重的功能,并演示了类调用的场景,如家具与房屋的面积计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. python的类问题-初识

#!/usr/bin/env python
# -*- coding:utf-8 -*-

class CapWord(object):
    def __init__(self,name):
        """初始化方法,传参数"""
        self.name=name
        self.xiaojun=18
        self.xiaoxue=17
        self.height=1.70

    #魔法方法,在创建类对象时候,自动被调用执行
    def __str__(self):
        """方法"""
        return '{}老师今年{}岁,身高{}'.format(self.name,self.xiaojun,self.height)

    #自己创建的类内函数,只有在被调用时候,才会被执行
    def age(self):
        self.xiaojun+=1
    def heightt(self):
        self.height += 0.2

#创建一个类的对象
capword1=CapWord('小君')
capword1.age()
capword1.heightt()
print(capword1)

 

2.进阶封装

#!/usr/bin/env python
# -*- coding:utf-8 -*-

"""
封装
"""
class Person(object):
    """
    小君老师  体重50kg--->跑步减肥0.5kg 吃东西增加1kg
    name    weight    初始化
    """
    def __init__(self,name,weight):
        self.name=name
        self.weight=weight

    def __str__(self):
        return '我是{},体重{}kg'.format(self.name,self.weight)

    def run(self):
        print('{}爱跑步'.format(self.name))
        self.weight-=0.5

    def eat(self,num):
        print('{}是吃货'.format(self.name))
        self.weight+=num*1.5


xiaojun=Person('小君老师',50)
xiaojun.eat(10)
print(xiaojun)




3.类调用

#!/usr/bin/env python
# -*- coding:utf-8 -*-
class HouseItem(object):
    def __init__(self,name,area):
        self.name=name
        self.area=area

    def __str__(self):
        return '家具是{},占地{}'.format(self.name,self.area)


class House(object):
    def __init__(self,huxing,area):
        self.huxing=huxing
        self.area=area
        #剩余面积
        self.free_area=area
        #默认无家具
        self.itme_list=[]

    def __str__(self):
        return '户型{}\n总面积{}[剩余面积]:{}\n家具{}'.format(self.huxing,self.area,self.free_area,self.itme_list)

    def add_itme(self,item):
        print('添加的是{}'.format(item))
        if item.area>self.free_area:
            print('too big,not add')
            return

        self.itme_list.append(item.name)

        self.free_area-=item.area

bed=HouseItem('bed',100)
xiaojun=House('大别墅',1000)
xiaojun.add_itme(bed)
print(xiaojun)

添加的是家具是bed,占地100
户型大别墅
总面积1000[剩余面积]:900
家具['bed']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱多多先森

你的鼓励,是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值