Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertierung des JSON-Formats der Python-Programmierung, flexible Verwendung von else-Anweisungen und detaillierte Erläuterung der setdefault-Methode

Konvertierung des JSON-Formats der Python-Programmierung, flexible Verwendung von else-Anweisungen und detaillierte Erläuterung der setdefault-Methode

伊谢尔伦
伊谢尔伦Original
2017-06-28 13:21:401658Durchsuche

In diesem Artikel werden hauptsächlich drei häufig verwendete Fähigkeiten in der PythonProgrammierung vorgestellt und zusammengefasst, darunter die Konvertierung des JSON-Formats, die Verwendung von else-Anweisungen und die Verwendung der setdefault-Methode Als Referenz:

Sie können einige gängige Tricks im Python-Code sehen. Hier ist eine einfache Zusammenfassung.
json StringFormatierung

Json-Strings werden häufig bei der Entwicklung von Webanwendungen verwendet, aber ein relativ langer JSON-String kann schlecht lesbar und schwierig sein um die Struktur im Inneren zu sehen. Zu diesem Zeitpunkt können Sie Python verwenden, um die JSON-Zeichenfolge schön zu drucken.

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#

Die wunderbare Verwendung von else

In einigen Szenarien müssen wir beurteilen, ob wir aus einer for -Schleife ausbrechen, und Gehen Sie nur entsprechend mit der Pausensituation um. Derzeit besteht unser üblicher Ansatz darin, eine Flag--Variable zu verwenden, um zu identifizieren, ob sie aus der for-Schleife springt. Überprüfen Sie wie im folgenden Beispiel, ob zwischen 60 und 80 Vielfache von 17 liegen.

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"

Tatsächlich können Sie zu diesem Zeitpunkt else verwenden, um den gleichen Effekt zu erzielen, ohne neue Variablen einzuführen

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

setdefault-Methode

Dictionary ist eine sehr leistungsstarke integrierte Datenstruktur in Python, deren Verwendung jedoch immer noch unbequem ist. Wenn es beispielsweise mehrere Verschachtelungsebenen gibt, schreiben wir normalerweise so:

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

Tatsächlich , es gibt einen einfacheren Weg. Der gleiche Effekt kann durch Schreiben von

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

erzielt werden, oder Sie können das Sammlungen.defaultdict-Modul

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

Das obige ist der detaillierte Inhalt vonKonvertierung des JSON-Formats der Python-Programmierung, flexible Verwendung von else-Anweisungen und detaillierte Erläuterung der setdefault-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn