python中关于创建类的一些小结

python中关于创建类的一些小结

今天遇到了一个题目,关于python中创建类的一个简单问题,我顺便复习了一下python中关于类创建的问题。

题目:
在这里插入图片描述

python展示:

#!  conda env
# -*- coding:utf-8 -*-
# Author : nishizzma
# File : Flower.py
"""
关于python类创建的一些学习与复习
"""

class Flower:
    #初始数据类型定义,在3.6版本后好像已经不需要,不过这里还是可以提供大家一个数据类型,方便后期查看
    __flowerName = ''
    __petalNum = 0
    __flowerPrice = 0.0

    #初始化函数
    def __init__(self,name,number,price):
        #题目需要保证一个健壮性,所以这里进行了一个简单的判断,如果不满足条件,则需要重新调用
        if number >= 0 and price >=0:
            self.__flowerName = name
            self.__petalNum = number
            self.__flowerPrice = price
        else:
            print("输入数据有误,请重新输入")
            name = str(input("请输入花名"))
            number = int(input("请输入花瓣数量"))
            price = float(input("请输入花的价格"))

            #在定义类的函数时,如果需要进行内部调用,则需要加上前缀self
            self.__init__(name, number, price)

    #设置函数,同样需要保证健壮性
    def setName(self):
        name = input("请输入花的名称")
        self.__flowerName = name

    def setNum(self):
        number = int(input("请输入花瓣数量"))
        if number >= 0:
            self.__petalNum = number
        else:
            print("输入有误,请重新输入")
            self.setNum()


    def setPrice(self):
        price = float(input("请输入花的价格"))
        if price >= 0:
            self.__flowerPrice = price
        else:
            print("输入有误,请重新输入")
            self.setPrice()

    #检索函数,这里采用了一个format进行输出
    def showInf(self):
        print('花名:{0}\n花瓣数量:{1}\n花的价格:{2}\n'.format(self.__flowerName,self.__petalNum,self.__flowerPrice))
        print("-------------------------------------------------")

    def showName(self):
        print(self.__flowerName+'\n')

    #下面的转换只是为了对齐一下格式,所以转换成str类型
    def showNum(self):
        print(str(self.__petalNum)+'\n')

    def showPrice(self):
        print(str(self.__flowerPrice)+'\n')


if __name__ == '__main__':
    name = str(input("请输入花名"))
    number = int(input("请输入花瓣数量"))
    price = float(input("请输入花的价格"))
    flower = Flower(name,number,price)
    flower.showInf()
    flower.setName()
    flower.showName()
    flower.setNum()
    flower.showNum()
    flower.setPrice()
    flower.showPrice()
    flower.showInf()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值