Maison  >  Article  >  développement back-end  >  Programmation Python, conversion du format JSON, utilisation flexible des instructions else et explication détaillée de la méthode setdefault

Programmation Python, conversion du format JSON, utilisation flexible des instructions else et explication détaillée de la méthode setdefault

伊谢尔伦
伊谢尔伦original
2017-06-28 13:21:401624parcourir

Cet article présente et résume principalement trois compétences couramment utilisées en Pythonprogrammation, notamment la conversion du format JSON, l'utilisation d'instructions else et l'utilisation de la méthode setdefault. Les amis qui en ont besoin peuvent le faire. Pour référence,

Vous pouvez voir quelques astuces courantes dans le code python. Voici un résumé simple.
json StringFormatage

Les chaînes Json sont souvent utilisées lors du développement d'applications Web, mais une chaîne json relativement longue peut La lisibilité est mauvaise et c'est difficile pour voir la structure à l'intérieur. À ce stade, vous pouvez utiliser Python pour imprimer magnifiquement la chaîne json.

root@Exp-1:/tmp# cat json.txt 
{"menu": {"breakfast": {"English Muffin": {"price": 7.5}, "Bread Basket": {"price": 20, "desc": "Assortment of fresh baked fruit breads and muffins"}, "Fruit Breads": {"price": 8}}, "drink": {"Hot Tea": {"price": 5}, "Juice": {"price": 10, "type": ["apple", "watermelon", "orange"]}}}}
root@Exp-1:/tmp# 
root@Exp-1:/tmp# cat json.txt | python -m json.tool
{
  "menu": {
    "breakfast": {
      "Bread Basket": {
        "desc": "Assortment of fresh baked fruit breads and muffins",
        "price": 20
      },
      "English Muffin": {
        "price": 7.5
      },
      "Fruit Breads": {
        "price": 8
      }
    },
    "drink": {
      "Hot Tea": {
        "price": 5
      },
      "Juice": {
        "price": 10,
        "type": [
          "apple",
          "watermelon",
          "orange"
        ]
      }
    }
  }
}
root@Exp-1:/tmp#

La merveilleuse utilisation de else

Dans certains scénarios, nous devons juger si nous sortons d'une boucle , et ne traitez la situation de rupture qu'en conséquence. À l'heure actuelle, notre approche habituelle consiste à utiliser un indicateur variable pour identifier si elle sort de la boucle for. Comme dans l'exemple ci-dessous, vérifiez s'il existe des multiples de 17 entre 60 et 80.

flag = False
for item in xrange(60, 80):
  if item % 17 == 0:
    flag = True
    break

if flag:
  print "Exists at least one number can be pided by 17"

En fait, vous pouvez utiliser else à ce moment pour obtenir le même effet sans introduire de nouvelles variables

for item in xrange(60, 80):
  if item % 17 == 0:
    flag = True
    break
else:
  print "exist"

méthode setdefault

Le dictionnaire est une structure de données intégrée très puissante en python, mais elle n'est toujours pas pratique à utiliser. Par exemple, lorsqu'il y a plusieurs niveaux d'imbrication, nous écrivons généralement comme ceci

dyna_routes = {}
method = 'GET'
whole_rule = None
# 一些其他的逻辑处理
...
if method in dyna_routes:
  dyna_routes[method].append(whole_rule)
else:
  dyna_routes[method] = [whole_rule]

En fait, il existe un moyen plus simple. Le même effet peut être obtenu en écrivant

self.dyna_routes.setdefault(method, []).append(whole_rule)

ou vous pouvez utiliser le module collections.defaultdict

import collections
dyna_routes = collections.defaultdict(list)
...
dyna_routes[method].append(whole_rule)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn