{"id":3797,"date":"2025-06-04T00:49:36","date_gmt":"2025-06-03T15:49:36","guid":{"rendered":"https:\/\/www.dogrow.net\/python\/?p=3797"},"modified":"2025-06-04T23:17:19","modified_gmt":"2025-06-04T14:17:19","slug":"blog133-tqdm%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%ab%e6%8c%af%e3%82%8a%e5%88%86%e3%81%91%e3%81%9f%e5%87%a6%e7%90%86%e3%81%ae%e9%80%b2%e6%8d%97%e7%8a%b6%e6%b3%81","status":"publish","type":"post","link":"https:\/\/www.dogrow.net\/python\/blog133-tqdm%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%ab%e6%8c%af%e3%82%8a%e5%88%86%e3%81%91%e3%81%9f%e5%87%a6%e7%90%86%e3%81%ae%e9%80%b2%e6%8d%97%e7%8a%b6%e6%b3%81\/","title":{"rendered":"(133) \u8907\u6570\u30d7\u30ed\u30bb\u30b9\u306b\u632f\u308a\u5206\u3051\u305f\u51e6\u7406\u306e\u9032\u6357\u72b6\u6cc1\u3092\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u3067\u8868\u793a\u3059\u308b\u3002"},"content":{"rendered":"<h1 class=\"my_h\">\u30101\u3011\u3084\u308a\u305f\u3044\u3053\u3068<\/h1>\n<p>\u91cd\u305f\u3044\u51e6\u7406\u3092\u8907\u6570\u30d7\u30ed\u30bb\u30b9\u306b\u5206\u62c5\u3055\u305b\u3001\u9ad8\u901f\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306f\u3088\u304f\u3042\u308b\u3002<\/p>\n<p>\u3053\u306e\u3068\u304d\u3001<br \/>\n<span class='my_fc_deeppinkBBig'>\u30de\u30eb\u30c1\u30d7\u30ed\u30bb\u30b9\u3067\u5b9f\u884c\u3057\u3066\u3044\u308b\u51e6\u7406\u306e\u9032\u6357\u72b6\u6cc1\u3092\u30011\u672c\u306e\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u306b\u8868\u793a\u3057\u305f\u3044<\/span><br \/>\n\u3068\u601d\u3063\u305f\u3002<\/p>\n<p>\u904e\u53bb\u8a18\u4e8b <a href=\"https:\/\/www.dogrow.net\/python\/blog131-tqdm-trange%e3%81%a7%e7%b0%a1%e5%8d%98%e3%81%ab%e3%83%97%e3%83%ad%e3%82%b0%e3%83%ac%e3%82%b9%e3%83%90%e3%83%bc%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e3%80%82\/\" target=\"_blank\">(131) tqdm.trange\u3067\u7c21\u5358\u306b\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u3092\u8868\u793a\u3059\u308b\u3002<\/a> \u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3070\u304b\u308a\u306e<br \/>\n<span class='my_fc_deeppinkBBig'>tqdm\u3092\u4f7f\u3048\u3070\u3053\u308c\u304c\u7c21\u5358\u306b\u5b9f\u73fe\u3067\u304d\u308b<\/span> \u3089\u3057\u3044\u3068\u805e\u3044\u305f\u306e\u3067\u3001\u8a66\u3057\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u305f\u3002<\/p>\n<h1 class=\"my_h\">\u30102\u3011\u3084\u3063\u3066\u307f\u305f<\/h1>\n<h2 class=\"my_h\">1) \u30d7\u30ed\u30b0\u30e9\u30e0\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/h2>\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u7528\u610f\u3057\u305f\u3002<br \/>\n<table class=\"my_tbl_simple\">\n<tr><th>option<\/th><th>type<\/th><th>\u8aac\u660e<\/th><\/tr><tr><td>-n<\/td><td>int<\/td><td>\u4e26\u5217\u5b9f\u884c\u30d7\u30ed\u30bb\u30b9\u6570\u3092\u6307\u5b9a\u3059\u308b\u3002<\/td><\/tr>\n<\/table><\/p>\n<pre class=\"brush: python; title: main.py; notranslate\" title=\"main.py\">\r\nfrom multiprocessing import Pool\r\nfrom itertools import product\r\nfrom tqdm import tqdm                       # \u9032\u6357\u30d0\u30fc\u8868\u793a\u7528\r\nfrom datetime import datetime               # \u73fe\u5728\u65e5\u6642\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\r\nimport argparse\r\n\r\n#\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n# \u5404\u30d7\u30ed\u30bb\u30b9\u306b\u5b9f\u884c\u3055\u305b\u308b\u30c0\u30df\u30fc\u306e\u91cd\u305f\u3044\u51e6\u7406\r\ndef heavy_calculation(n):                   # n\u3092\u7d20\u56e0\u6570\u5206\u89e3\u3059\u308b\uff08\u5358\u7d14\u306a\u8a66\u3057\u5272\u308a\u6cd5\uff09\r\n    factors = &#x5B;]\r\n    i = 2\r\n    while i * i &lt;= n:\r\n        while n % i == 0:\r\n            factors.append(i)\r\n            n \/\/= i\r\n        i += 1\r\n    if n &gt; 1:\r\n        factors.append(n)\r\n    return factors\r\n\r\n#\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n# \u5404\u30d7\u30ed\u30bb\u30b9\u304c\u5206\u62c5\u3059\u308b\u51e6\u7406\u306e\u30a8\u30f3\u30c8\u30ea\u30dd\u30a4\u30f3\u30c8\r\ndef processProc( param ):\r\n    vA, vB = param\r\n    factors = &#x5B;]\r\n    for i in range(1000):\r\n        n = (vA + vB) * (i + 1) * 10**6\r\n        factors += heavy_calculation(n)\r\n    return sum(factors)                     # \u7d20\u56e0\u6570\u306e\u5408\u8a08\u3092\u8fd4\u3059\r\n\r\n#\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\nif __name__ == &quot;__main__&quot;:\r\n    #---------------------------------------------------------------------------\r\n    # \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u5f15\u6570\u3092\u53d6\u5f97\r\n    parser = argparse.ArgumentParser(description=&quot;test&quot;)\r\n    parser.add_argument(&#039;-n&#039;, type=int, help=&#039;\u30d7\u30ed\u30bb\u30b9\u6570&#039;, default=1)\r\n    args = parser.parse_args()\r\n    #---------------------------------------------------------------------------\r\n    # \u30c7\u30fc\u30bf\u521d\u671f\u5316\r\n    n_process = args.n                      # \u4e26\u5217\u3067\u52d5\u304b\u3059\u30d7\u30ed\u30bb\u30b9\u6570\r\n    vAs = range(1, 101)                     # \u8981\u7d20\u6570100\u500b\u306e\u914d\u5217\uff081,2,3,4,...,98,99,100\uff09\r\n    vBs = range(1, 101)                     # \u8981\u7d20\u6570100\u500b\u306e\u914d\u5217\uff081,2,3,4,...,98,99,100\uff09\r\n    # vAs\u3068 vBs\u306e\u5168\u8981\u7d20\u306e\u7d44\u5408\u305b\uff08100\u00d7100=10000\u901a\u308a\uff09\u3092\u4f5c\u6210\r\n    params   = list(product(vAs, vBs))\r\n    n_params = len(params)\r\n    total_sum = 0                           # \u5168\u7d50\u679c\u306e\u5408\u8a08\u5024\u3092\u683c\u7d0d\r\n    start_time = datetime.now()             # \u958b\u59cb\u6642\u523b\u3092\u8a18\u9332\r\n    #---------------------------------------------------------------------------&gt;&gt;&gt; \u4e26\u5217\u51e6\u7406\u533a\u9593\r\n    with Pool( n_process ) as pool:         # \u30d7\u30ed\u30bb\u30b9\u30d7\u30fc\u30eb\u3092\u4f5c\u6210\r\n        # params\u306e 1\u8981\u7d20\u305a\u3064\u5404\u30d7\u30ed\u30bb\u30b9\u306b\u51e6\u7406\u3055\u305b\u308b\u3002\r\n        results_iterator = pool.imap_unordered( processProc, params )\r\n        # tqdm\u3067\u9032\u6357\u30d0\u30fc\u3092\u8868\u793a\u3059\u308b\u3002\r\n        for res in tqdm( results_iterator, total=n_params ):\r\n            total_sum += res                # \u5404\u7d50\u679c\u3092\u5408\u8a08\u306b\u52a0\u7b97\r\n    #---------------------------------------------------------------------------&lt;&lt;&lt; \u4e26\u5217\u51e6\u7406\u533a\u9593\r\n    end_time = datetime.now()               # \u7d42\u4e86\u6642\u523b\u3092\u8a18\u9332\r\n    duration = end_time - start_time\r\n    # \u6700\u7d42\u7d50\u679c\u3092\u8868\u793a\r\n    print(f&quot;\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: {total_sum}&quot;)   # \u6b63\u3057\u304f\u51e6\u7406\u3055\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\r\n    print(f&quot;\u5b9f\u884c\u6642\u9593: {duration.total_seconds():.1f}&quot;)  # \u4e26\u5217\u5316\u3067\u9ad8\u901f\u5316\u3059\u308b\u3053\u3068\u3092\u78ba\u8a8d\r\n<\/pre>\n<h2 class=\"my_h\">2) \u5b9f\u884c\u7d50\u679c<\/h2>\n<p>\u5b9f\u884c\u74b0\u5883\u306e CPU\u304c <a href=\"https:\/\/www.intel.co.jp\/content\/www\/jp\/ja\/products\/sku\/241062\/intel-core-ultra-7-processor-265kf-30m-cache-up-to-5-50-ghz\/specifications.html\" target=\"_blank\">Intel Core Ultla 265KF\uff0820core\uff09<\/a> \u306a\u306e\u3067\u3001\u6700\u5927 20\u30b3\u30a2\u6307\u5b9a\u3067\u5b9f\u884c\u3057\u3066\u307f\u305f\u3002<\/p>\n<p><span class='my_fc_deeppinkBBig'>20\u30b3\u30a2\u300115\u30b3\u30a2\u300110\u30b3\u30a2\u30018\u30b3\u30a2\u30014\u30b3\u30a2\u30012\u30b3\u30a2\u30011\u30b3\u30a2<\/span> \u6307\u5b9a\u3067\u4e0a\u8a18\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u884c\u3057\u3066\u307f\u305f\u3002<br \/>\n\u3044\u305a\u308c\u306e\u5834\u5408\u3082\u540c\u3058\u3088\u3046\u306b <span class='my_fc_deeppinkBBig'>1\u672c\u306e\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u304c\u4f38\u3073\u308b\u69d8\u5b50\u3092\u78ba\u8a8d<\/span> \u3067\u304d\u305f\u3002<\/p>\n<pre class='my_pre_bgBlack'>\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 20<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:00<00:00, 14855.35it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>0.7 sec<\/span>\r\n\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 15<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:00<00:00, 12148.88it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>0.8 sec<\/span>\r\n\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 10<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:01<00:00, 8506.88it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>1.2 sec<\/span>\r\n\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 8<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:01<00:00, 7049.92it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>1.4 sec<\/span>\r\n\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 4<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:02<00:00, 3530.27it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>2.8 sec<\/span>\r\n\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 2<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:05<00:00, 1749.37it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>5.7 sec<\/span>\r\n\r\n$ <span class='my_fc_yellow'>python main_00133.py -n 1<\/span>\r\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10000\/10000 [00:11<00:00, 893.68it\/s]\r\n\u5168\u7d44\u5408\u305b\u306e\u52a0\u7b97\u7d50\u679c\u306e\u5408\u8a08\u5024: 2248942000\r\n\u5b9f\u884c\u6642\u9593: <span class='my_fc_lightpink'>11.2 sec<\/span>\r\n<\/pre>\n<p>\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u306e\u53f3\u7aef\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308b <span class='my_fs_big2B'>893.68it\/s<\/span> \u306f\u3001<br \/>\n<span class='my_fc_blueBBig'>1\u79d2\u5f53\u305f\u308a\u306e\u5b9f\u884c\u3055\u308c\u305f iteration\u6570<\/span> \u3060\u3002<br \/>\n\u4eca\u56de\u306e\u5834\u5408\u3001\u516810000\u30bb\u30c3\u30c8\u306e\u30c7\u30fc\u30bf\u3092 1\u79d2\u306b\u3064\u304d\u4f55\u30bb\u30c3\u30c8\u51e6\u7406\u3067\u304d\u305f\u304b\u3092\u8868\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u30012\u30b3\u30a2\u6307\u5b9a\u3067\u5b9f\u884c\u3057\u305f\u5834\u5408\u306e 1749.37it\/s \u3092\u78ba\u304b\u3081\u3066\u307f\u308b\u3068\u3001<br \/>\n10000\u56de \u00f7 5.7\u79d2 = 1754.3\u56de\/\u79d2<br \/>\n\u3060\u3044\u305f\u3044\u540c\u3058\u3060\u3002<br \/>\n\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u306f\u3001\u9032\u6357\u72b6\u6cc1\u3092\u3056\u3063\u304f\u308a\u3068\u773a\u3081\u308b\u3053\u3068\u304c\u76ee\u7684\u306e indicator \u306a\u306e\u3067\u3001\u6642\u9593\u5024\u306e\u7cbe\u5ea6\u306f\u6c17\u306b\u3057\u306a\u3044\u3002<\/p>\n<hr class=\"my_hr_bottom\">\n","protected":false},"excerpt":{"rendered":"<p>\u30101\u3011\u3084\u308a\u305f\u3044\u3053\u3068 \u91cd\u305f\u3044\u51e6\u7406\u3092\u8907\u6570\u30d7\u30ed\u30bb\u30b9\u306b\u5206\u62c5\u3055\u305b\u3001\u9ad8\u901f\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306f\u3088\u304f\u3042\u308b\u3002 \u3053\u306e\u3068\u304d\u3001 \u30de\u30eb\u30c1\u30d7\u30ed\u30bb\u30b9\u3067\u5b9f\u884c\u3057\u3066\u3044\u308b\u51e6\u7406\u306e\u9032\u6357\u72b6\u6cc1\u3092\u30011\u672c\u306e\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u306b\u8868\u793a\u3057\u305f\u3044 \u3068\u601d\u3063\u305f\u3002 \u904e\u53bb\u8a18\u4e8b (131) tqd\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.dogrow.net\/python\/blog133-tqdm%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%ab%e6%8c%af%e3%82%8a%e5%88%86%e3%81%91%e3%81%9f%e5%87%a6%e7%90%86%e3%81%ae%e9%80%b2%e6%8d%97%e7%8a%b6%e6%b3%81\/\">\u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[68,24],"tags":[],"class_list":["post-3797","post","type-post","status-publish","format-standard","hentry","category-tqdm","category-24"],"views":783,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/posts\/3797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/comments?post=3797"}],"version-history":[{"count":28,"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/posts\/3797\/revisions"}],"predecessor-version":[{"id":3825,"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/posts\/3797\/revisions\/3825"}],"wp:attachment":[{"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/media?parent=3797"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/categories?post=3797"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dogrow.net\/python\/wp-json\/wp\/v2\/tags?post=3797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}