ホームページ  >  記事  >  バックエンド開発  >  PythonプログラミングのJSON形式変換、else文の柔軟な使い方、setdefaultメソッドの詳細解説

PythonプログラミングのJSON形式変換、else文の柔軟な使い方、setdefaultメソッドの詳細解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-28 13:21:401664ブラウズ

この記事では、JSON形式の変換、elseステートメントの使用、setdefaultメソッドの使用など、Pythonプログラミングについてまとめた3つの一般的なスキルを主に紹介します。必要な友人はそれを参照してください

Pythonで見ることができます。コード ここで、いくつかの一般的なトリックを簡単にまとめてみましょう。
json StringFormatting

Json 文字列は Web アプリケーションを開発するときによく使用されますが、比較的長い json 文字列は可読性が低く、内部の構造を確認するのは簡単ではありません。 このとき、Pythonを使うと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#

else

の素晴らしい使い方 いくつかのシナリオでは、for ループから抜け出すかどうかを判断し、それに応じて中断状況にのみ対処する必要があります。このとき、フラグ 変数 を使用して、for ループから抜け出すかどうかを識別するのが通常のアプローチです。 以下の例のように、60と80の間に17の倍数があるかどうかを確認します。

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"

実際、この時点で else を使用すると、新しい変数を導入せずに同じ効果を達成できます

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

setdefault メソッド

dictionary は Python の非常に強力な組み込みデータ構造ですが、まだ不便ですたとえば、複数のレベルのネストがある場合、通常は次のように記述します

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

実際には、同じ効果を達成できるもっと簡単な記述方法があります

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

、または collections.defaultdict モジュールを使用することもできます

リーリー

以上がPythonプログラミングのJSON形式変換、else文の柔軟な使い方、setdefaultメソッドの詳細解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。