Python De Base De Données
Ma question est de savoir comment créer une base de données simple en python. Mon exemple est:
User = {
'Name' : {'Firstname', 'Lastname'},
'Address' : {'Street','Zip','State'},
'CreditCard' : {'CCtype','CCnumber'},
}
Maintenant, je peux mettre à jour cette information de l'Utilisateur, mais comment puis-je
- Ajouter d'autres utilisateurs à cette structure de données. Un dictionnaire de dictionnaires?
- Permettre aux utilisateurs d'avoir plus d'une carte de crédit, un nombre à une relation
Merci pour les réponses, j'ai essayé d'envelopper ma tête autour de ce pendant un certain temps
- Le vrai problème, c'est que cette approche mémoire devient malpropre rapide. Si vous avez un dictionnaire des utilisateurs, qu'utilisez-vous pour la remise des clés? Que faire si il y a des doubles de clés? etc.
- Par la manière, vous pouvez être intéressé dans ce Python liste des bases de données, en particulier le natif de Python chers.
Vous devez vous connecter pour publier un commentaire.
Vous pourriez être intéressé par SQLAlchemy. Il constitue une base de données réelle, comme SQLite ou MySQL, de travailler plus comme les classes Python.
Plus clé-valeur des magasins, j'ai vu sont soit un dictionnaire de dictionnaires (comme mongo*) ou d'un dictionnaire de chaînes de caractères (comme le redis). Il y a des avantages et des inconvénients pour les deux approches. Je ne sais pas ce que vous voulez, donc je vais donner la réponse la plus simple: Accédez à une liste de dictionnaires:
*OK, pour être juste, Mongo est plus comme un dictionnaire de magie cordes. C'est du json, mais les recherches sont gérées en interne, de sorte que vous pouvez le traiter comme un dictionnaire de l'arbitraire (mais json-serializable) structures de données.
Vous pouvez créer une base de données en Python avec sqlite, voici une base tutoriel pour elle.
Une liste de dictionnaires.
Une liste.
Créer un
User
classe pour stocker les informations. La classe peut avoir uncreditcards
attribut qui est unlist
deCreditCard
des instances de classe qui s'ajoutent à des instances de classe, soit lors de leur création ou ultérieurement à l'aide d'une méthode de classe, vous pouvez définir. D'autres méthodes de mise à jour (et d'autres) attributs lors de l'appel. Cela s'appelle de la programmation orientée objet (POO).Instances peuvent être stockées dans la mémoire au sein des instances d'une variété de classes conteneur intégré comme
list
s etdict
s. Ils peuvent être stockés sur un disque et de les retrouver plus tard à l'aide de lapickle
,shelve
,json
, etsqlite3
modules, pour n'en nommer que quelques-uns.Vous n'êtes pas d'essayer de faire quelque chose qui n'a pas été fait avant -- ce qui est une bonne nouvelle car cela signifie qu'il y a beaucoup de hors-the-shelf de logiciels à votre disposition, mais vous aurez à lire sur eux dans la documentation et probablement demander un peu plus de questions, jusqu'à ce que vous avez appris comment les utiliser, alors vous pouvez commencer à répondre aux questions. 😉
Bienvenue à Python!