【发布时间】:2018-10-03 01:31:19
【问题描述】:
我正在尝试根据用户的输入在一个类中创建任意数量的实例,但到目前为止我无法:
class CLASS_INVENTORY:
maxcount_inventory = int(input("How many Inventories: "))
for count_inventory in range(maxcount_inventory):
def __init__(Function_Inventory, inventory_name(count_inventory)):
add_inventory = str(input("Enter Inventory #%d: " % (count_inventory+1)))
inventory_name[count_inventory] = add_inventory
注意:我是 Python 3 的新手,所以我不确定我的某些语法是否正确。
我希望输出是这样的:
How many Inventories: 4
Enter Inventory #1: Fruits
Enter Inventory #2: Veggies
Enter Inventory #3: Drinks
Enter Inventory #4: Desserts
这是我的完整代码: https://pastebin.com/3FBHgP6i 我也想知道编写 Python 3 代码的规则,如果我正确地遵循它们或者我应该改变一些东西。我希望它对其他 Python 程序员尽可能可读。
【问题讨论】:
-
Stepanjan 的回答对于动态大小的数组问题是准确的,但是在 Python3 代码规则方面,建议将类声明为:
class ClassName(object):,其中 object 是ClassName 子类或实现的类型(在大多数情况下,实际上可能是 object)。一般来说,也建议关注PEP8 guidance。如果您使用支持 PEP8 的文本编辑器或 IDE(例如,带有一些社区插件和 pip 包的 Atom),则最容易遵循这一点。 -
我应该在这里使用一个对象吗?如果我要添加一个对象,请问您对我应该如何命名我的对象的意见?
-
国际海事组织,没有。如果 pastebin 是您的完整代码,那么数组对于您的用例来说完全足够了。更多“OOP-everywhere” 社区成员可能不同意,因为类使您能够在以后扩展和添加数据/字段(例如,也许您将添加一个“描述”成员来描述存储在库存中的内容类型),但就目前而言,在我看来,把它放在一个类中是过分的。
-
我明白了。感谢您的信息。
标签: python python-3.x function class user-input