鱼C论坛

 找回密码
 立即注册
查看: 2947|回复: 1

[已解决]一道python练习题题意分析!不会耽误大家很长时间麻烦就帮我看一眼QAQ,大感谢

[复制链接]
发表于 2022-11-25 13:55:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写一个 Python 类 Flower,它有三个实例变量,类型分别为 str、int 和 float,
分别代表花的名称、花瓣数量和价格。
您的类必须包含一个初始值设定项,该初始值设定项将每个变量初始化为适当的值,
并且您的类应包含用于设置每种类型的值和检索的方法
每个类型的值。您的程序应该足够健壮,可以处理可能
不适当的输入。

就是这道题,他的意思是不是说,我这样写:
class Flower:
      name = '一种花'
      nums = 7
      price = 1.5
      def allow_input():  #允许用户更改成自己心仪的数值,且如果用户输入不恰当的类型,不会报错而是提醒用户输入正确类型,直至输入正确为止
              pass

大体我打算这样写,请问大家觉得这样符合题意吗?总感觉哪里怪怪的,但是用init也不对叭?。。。。
最佳答案
2022-11-25 17:41:16
本帖最后由 阿奇_o 于 2022-11-25 17:51 编辑

你写的那个是 "类变量"了,它要求的是 "实例变量",也就是最常见的 带 self 的 (通常写在__init__里的) ,比如:
class Flower:
    def __init__(self, name='牡丹', nums=7, price=1.5):
        self.name = name
        self.nums = nums
        self.price = price
    def set(self, attr, value):
        if attr == 'name' and isinstance(value, str)  :
            self.name = value
        # elif
以上只是 例子,包括了 设置值的 类型和值 的检查方法(但不完整的)。  另外还可以用 __setattr__ 的特殊方法,可以自己去了解和使用。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-25 17:41:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 阿奇_o 于 2022-11-25 17:51 编辑

你写的那个是 "类变量"了,它要求的是 "实例变量",也就是最常见的 带 self 的 (通常写在__init__里的) ,比如:
class Flower:
    def __init__(self, name='牡丹', nums=7, price=1.5):
        self.name = name
        self.nums = nums
        self.price = price
    def set(self, attr, value):
        if attr == 'name' and isinstance(value, str)  :
            self.name = value
        # elif
以上只是 例子,包括了 设置值的 类型和值 的检查方法(但不完整的)。  另外还可以用 __setattr__ 的特殊方法,可以自己去了解和使用。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 16:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表