7

我的问题是如何在 python 中创建一个简单的数据库。我的例子是:

User = {
'Name' : {'Firstname', 'Lastname'},
'Address' : {'Street','Zip','State'},
'CreditCard' : {'CCtype','CCnumber'},
}

现在我可以更新这个用户的信息就好了,但是我该怎么做

  1. 向此数据结构添加更多用户。字典词典?
  2. 允许用户拥有多张信用卡,多对一关系

感谢您的任何回复,我一直在努力解决这个问题

4

5 回答 5

11

您可能对SQLAlchemy感兴趣。它使 SQLite 或 MySQL 等实际数据库的工作方式更像 Python 类。

于 2012-05-30T20:43:29.653 回答
5

我见过的大多数键值存储要么是字典字典(如 mongo*),要么是字符串字典(如 redis)。这两种方法各有利弊。我不知道你想要什么,所以我会给出最简单的答案:使用字典列表:

Users = []
Users.append({
  'Name' : {'Firstname', 'Lastname'}, # Are these sets?
  'Address' : {'Street','Zip','State'},
  'CreditCard' : {'CCtype','CCnumber'},
})

*好吧,公平地说,Mongo 更像是一本魔法字符串字典。它是 json,但查找是在内部处理的,因此您可以将其视为任意(但 json 可序列化)数据结构的字典。

于 2012-05-30T20:45:18.933 回答
4

创建一个User类来存储信息。该类可以具有一个creditcards属性,该属性是listCreditCard实例的一个属性,可以在创建类实例时或稍后使用您可以定义的类方法添加到类实例中。其他方法可以在调用时根据需要更新此(和其他)属性。它被称为面向对象编程(OOP)。

实例可以存储在各种内置容器类(如lists 和dicts)的实例中的内存中。它们可以存储在磁盘上,稍后使用pickleshelvejsonsqlite3模块检索,仅举几例。

您不会尝试做任何以前没有做过的事情——这是个好消息,因为这意味着有很多现成的软件可供您使用,但您必须在文档中阅读它们并且可能会再问几个问题,直到你学会了如何使用它们,然后你就可以开始回答问题了。;-)

欢迎来到 Python!

于 2012-06-24T02:36:18.433 回答
4

​1. 向此数据结构添加更多用户。字典词典?

字典列表。

[{'name': ...}, {'name': ...}]

​ 2. 允许用户拥有多张信用卡,多对一关系

一个列表。

{'name': ..., 'creditcard': [['type', 'number'], ['type', 'number']]}
于 2012-05-30T20:47:03.757 回答
4

您可以使用sqlite在 Python 中创建一个简单的数据库,这是它的基本教程

于 2012-05-30T20:43:46.237 回答