>  기사  >  백엔드 개발  >  Python 프로그래밍 JSON 형식 변환, else 문의 유연한 사용 및 setdefault 메소드에 대한 자세한 설명

Python 프로그래밍 JSON 형식 변환, else 문의 유연한 사용 및 setdefault 메소드에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-28 13:21:401626검색

이 글에서는 JSON 형식 변환, else 문 사용, setdefault 메소드 사용 등 Python프로그래밍을 요약할 때 일반적으로 사용되는 세 가지 기술을 주로 소개합니다. 필요한 친구는 참고할 수 있습니다.

파이썬에서 볼 수 있습니다. code 여기에 몇 가지 일반적인 트릭을 간략하게 요약해 보겠습니다.
json StringFormatting

Json 문자열은 웹 애플리케이션을 개발할 때 자주 사용되는데, 상대적으로 긴 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 loop에서 벗어나는지 확인하고 이에 따라 중단 상황만 처리해야 합니다. 이때 우리의 일반적인 접근 방식은 플래그 변수 를 사용하여 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 모듈

import collections
dyna_routes = collections.defaultdict(list)
...
dyna_routes[method].append(whole_rule)
을 사용할 수 있습니다.

위 내용은 Python 프로그래밍 JSON 형식 변환, else 문의 유연한 사용 및 setdefault 메소드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.