python - 用户创建的类

标签 python class

我正在学习 Python,正在阅读一本书(Python 绝对初学者编程,第 3 版)。 这本书给出了一个类似模拟人生的基本应用程序的示例,其中创建了有限数量的“小动物”,用户必须喂养它们并与它们一起玩耍,从而增加它们的无聊和饥饿值。 我正在利用类(class)进行练习,并尝试制作自己的游戏。向用户呈现一个用户可以使用的菜单;购买/创建新的 SIM 卡、删除旧的 SIM 卡或与现有的 SIM 卡进行交互。 我遇到的问题是创建新类。用户最初会看到一个屏幕,询问他们想要做什么,如果他们按 X,他们就会进入 createnewsim 功能。然而问题是当创建一个新类时:

nameofsim = input("what would you like to call your new sim?")
newsim = sim(nameofsim)

如果用户要创建另一个,它将覆盖现有的,因为名称 newsim 无法更改,正如我在上一个问题中或多或少发现的那样。

那么,我该如何分配新的对象名称,或者防止旧的模拟卡被覆盖,从而允许创建多个新的模拟卡?

最佳答案

将您的 sim 类存储在列表或字典中;例如

class Sim(object):
    def __init__(self, name):
        self.name = name

names = ['tim','dave','jane']
sims = {}
for name in names:
    sims[name] = Sim(name)

关于python - 用户创建的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762714/

相关文章:

Python:为什么堆第一次弹出错误?

java - 我怎样才能让一个java程序分段下载自己然后运行?

android - 在由其他对象组成的类中实现 Parcelable 接口(interface)

c++ - 使用带有 wxWidgets 的 mysql lib 的类崩溃

C++ 错误 : does not have a class type

python - 如何清除/重置 Python 中所有已配置的日志记录处理程序?

python - django 错误(外部 IP)

css - 我可以使用 CSS 编辑类幻灯片的背景吗?

python - 通过在 python 中使用余弦相似度,返回与查询文档相比最相似的文档

python - 带有 __iter__ 的类允许某人调用 next() 同时修改集合