{"id":421,"date":"2019-01-05T11:13:03","date_gmt":"2019-01-05T02:13:03","guid":{"rendered":"https:\/\/www.nblog09.com\/w\/?p=421"},"modified":"2021-06-12T16:24:56","modified_gmt":"2021-06-12T07:24:56","slug":"python-inner-function","status":"publish","type":"post","link":"https:\/\/www.nblog09.com\/w\/2019\/01\/05\/python-inner-function\/","title":{"rendered":"Python\u306e\u5185\u90e8\u95a2\u6570(inner function)\u3001\u30ce\u30f3\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u306e\u4f7f\u7528\u65b9\u6cd5\u3001\u30af\u30ed\u30fc\u30b8\u30e3\u306e\u5b9a\u7fa9\u65b9\u6cd5\u8a73\u7d30"},"content":{"rendered":"<h2 class=\"title-border\"><strong>\u5185\u90e8\u95a2\u6570(inner function)\u306e\u4f7f\u3044\u65b9<\/strong><\/h2>\n<p>python\u3067\u306f\u3001\u95a2\u6570\u306e\u5185\u90e8\u306b\u95a2\u6570\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u3053\u308c\u3092\u5185\u90e8\u95a2\u6570\u3068\u8a00\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u30ce\u30f3\u30ed\u30fc\u30ab\u30eb\u5909\u6570(nonlocal)\u3068\u3057\u3066\u5ba3\u8a00\u3059\u308b\u3068\u5185\u5074\u306e\u95a2\u6570\u304b\u3089\u5916\u5074\u306e\u95a2\u6570\u3067\u5ba3\u8a00\u3055\u308c\u305f\u5909\u6570\u3092\u66f8\u304d\u63db\u3048\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n<div class=\"programming-gray\">\n<ul>\n<li>inner\u95a2\u6570\u306e\u66f8\u304d\u65b9<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer():<br \/>\n\u00a0   def innner():<br \/>\n\u00a0 \u00a0     <strong># inner\u95a2\u6570\u306e\u51e6\u7406<\/strong><br \/>\n\u00a0   <strong># inner\u95a2\u6570\u3092\u547c\u3073\u51fa\u3059\u7b49outer\u95a2\u6570\u3067\u884c\u3046<\/strong>\n<\/div>\n<\/div>\n<h2 class=\"title-border\"><strong>\u5185\u90e8\u95a2\u6570\u3067\u306enonlocal\u306e\u4f7f\u3044\u65b9<\/strong><\/h2>\n<p>python\u3067\u306f\u30ce\u30f3\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u3068\u3044\u3046\u5909\u6570\u304c\u3042\u308a\u3001\u5185\u90e8\u95a2\u6570\u306e\u540d\u524d\u7a7a\u9593\u304b\u3089\u5916\u90e8\u95a2\u6570\u306e\u540d\u524d\u7a7a\u9593\u306b\u3042\u308b\u5909\u6570\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<br \/>\n(\u30ce\u30f3\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u306b\u3064\u3044\u3066\u306f<a href=\"https:\/\/www.nblog09.com\/w\/2018\/12\/20\/variable\/\">\u3053\u3061\u3089<\/a>\u3067\u3082\u8a18\u8ff0\u3057\u3066\u3042\u308b)<\/p>\n<div class=\"programming-gray\">\n<ul>\n<li>nonlocal\u3092\u4f7f\u308f\u306a\u3044\u5834\u5408(\u5916\u90e8\u306e\u95a2\u6570\u306e\u5024\u306f\u5909\u66f4\u3055\u308c\u306a\u3044)<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;def inner():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outer_value = '\u5185\u5074\u3067\u5909\u66f4'<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;outer_value = '\u5916'\u00a0<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;inner() <strong># inner\u95a2\u6570\u3092\u547c\u3073\u51fa\u3059<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;print(outer_value) <strong># \u300c\u5916\u300d\u3068\u8868\u793a<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return outer_value <\/p>\n<p>value = outer()<\/p>\n<p>print(value) <strong># '\u5916'\u3068\u8868\u793a(\u5916\u90e8\u306e\u95a2\u6570\u306e\u5024\u306f\u5909\u66f4\u3055\u308c\u308b)<\/strong>\n<\/div>\n<ul>\n<li>nonlocal\u3092\u4f7f\u3046\u5834\u5408<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;def inner():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nonlocal outer_value <strong># nonlocal\u3092\u5ba3\u8a00<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outer_value = '\u5185\u5074\u3067\u5909\u66f4' <strong># \u5916\u5074\u306e\u95a2\u6570\u306e\u540d\u524d\u7a7a\u9593\u306eouter_value\u306b'\u5185\u5074\u3067\u5909\u66f4'\u304c\u4ee3\u5165\u3055\u308c\u308b<\/strong><\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;outer_value = '\u5916'<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;inner() <strong># inner\u95a2\u6570\u3092\u547c\u3073\u51fa\u3059<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;print(outer_value) <strong># \u300c\u5185\u5074\u3067\u5909\u66f4\u300d\u3068\u8868\u793a<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return outer_value<\/p>\n<p>value = outer() <\/p>\n<p>print(value)\n<\/p><\/div>\n<\/div>\n<h2 class=\"title-border\"><strong>\u5185\u90e8\u95a2\u6570\u3092\u7528\u3044\u305f\u30af\u30ed\u30fc\u30b8\u30e3\u306e\u5b9a\u7fa9<\/strong><\/h2>\n<p>\u524d\u8ff0\u306e\u901a\u308a\u3001\u5185\u90e8\u95a2\u6570\u304b\u3089\u306f\u5916\u90e8\u306e\u95a2\u6570\u306e\u5909\u6570\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u5024\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u304c\u3001\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u308b\u3002<br \/>\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5229\u7528\u3059\u308b\u3002<\/p>\n<div class=\"programming-gray\">\n<ul>\n<li>\u5185\u90e8\u95a2\u6570\u304b\u3089\u5916\u90e8\u306e\u5909\u6570\u3078\u306e\u30a2\u30af\u30bb\u30b9<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;outer_value = '\u5916'<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;def inner():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(outer_value) <strong># \u5916\u3068\u8868\u793a<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;inner()<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return outer_value<\/p>\n<p>value = outer()\n<\/p><\/div>\n<\/div>\n<p>\u5185\u90e8\u95a2\u6570\u306e\u3053\u306e\u6027\u8cea\u3092\u7528\u3044\u3066\u3001\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u4f5c\u6210\u3059\u308b\u3002<br \/>\n\u30af\u30ed\u30fc\u30b8\u30e3\u3068\u306f\u3001<\/p>\n<ul class=\"pink_span\">\n<li>\u95a2\u6570\u3068\u305d\u306e\u5468\u56f2\u306e\u74b0\u5883\u3078\u306e\u53c2\u7167\u306e\u7d44\u307f\u5408\u308f\u305b<\/li>\n<\/ul>\n<p>\u306e\u3053\u3068\u3092\u8a00\u3046\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3059\u308b\u3068\u3001\u95a2\u6570(inner)\u3068\u5468\u56f2\u306e\u74b0\u5883(name)\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8fd4\u3059\u3053\u3068\u304c\u3067\u304d\u308b<\/p>\n<div class=\"programming-gray\">\n<ul>\n<li>\u30af\u30ed\u30fc\u30b8\u30e3\u306e\u5b9a\u7fa9<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;name = 'Taro'<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;def inner():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(name) <strong># name\u3092\u53c2\u7167<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return inner <strong># \u5185\u90e8\u95a2\u6570\u3092\u8fd4\u3059<\/strong><\/p>\n<p>function = outer() <strong># \u30af\u30ed\u30fc\u30b8\u30e3\u3092\u5909\u6570function\u306b\u4ee3\u5165<\/strong><\/p>\n<p>function() <strong># function\u3092\u5b9f\u884c<\/strong>\n<\/div>\n<\/div>\n<p>\u547c\u3073\u51fa\u3059\u969b\u306b\u3001\u5916\u90e8\u306e\u5909\u6570\u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n<div class=\"programming-gray\">\n<ul>\n<li>\u5916\u90e8\u306e\u5909\u6570\u306b\u5024\u3092\u4ee3\u5165<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer(name):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;name = name<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;def inner():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(name) <strong># name\u3092\u53c2\u7167<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return inner <strong># \u5185\u90e8\u95a2\u6570\u3092\u8fd4\u3059<\/strong><\/p>\n<p>function = outer('Jiro') <strong># outer\u3092\u5f15\u6570Jiro\u306b\u3057\u3066\u547c\u3073\u51fa\u3057\u3001\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u5909\u6570function\u306b\u4ee3\u5165<\/strong><\/p>\n<p>function() <strong># function\u3092\u5b9f\u884c<\/strong>\n<\/div>\n<\/div>\n<p>\u95a2\u6570\u3092\u6e21\u3057\u3066\u3001\u5185\u90e8\u95a2\u6570\u5185\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002<br \/>\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3059\u308b\u3002<\/p>\n<div class=\"programming-gray\">\n<ul>\n<li>\u5185\u90e8\u95a2\u6570\u306b\u95a2\u6570\u3092\u6e21\u3059<\/li>\n<\/ul>\n<div class=\"programming-inside\">\ndef outer(func):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;def inner(*args):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(func(*args)) <strong># func\u3092\u7528\u3044\u3066\u5f15\u6570*arg\u3067\u5b9f\u884c\u3059\u308b<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return inner               <\/p>\n<p>def add(x, y):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return x + y <\/p>\n<p>def sub(x, y):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return x-y <\/p>\n<p>add_func = outer(add) <strong># func\u306b\u95a2\u6570add\u3092\u5165\u308c\u3066\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u8fd4\u3059<\/strong><br \/>\nsub_func = outer(sub) <strong># func\u306b\u95a2\u6570sub\u3092\u5165\u308c\u3066\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u8fd4\u3059<\/strong><\/p>\n<p>add_func(3, 3) <strong># args=(3,3)\u3067print(add(*args))\u304c\u5b9f\u884c\u3055\u308c\u30016\u3068\u8868\u793a<\/strong><br \/>\nadd_func(4, 5) <strong># args=(4,5)\u3067print(add(*args))\u304c\u5b9f\u884c\u3055\u308c\u30019\u3068\u8868\u793a<\/strong><\/p>\n<p>sub_func(10, 5) <strong># args=(10,5)\u3067print(sub(*args))\u304c\u5b9f\u884c\u3055\u308c\u30015\u3068\u8868\u793a<\/strong><br \/>\nsub_func(20, 10) <strong># args=(20,10)\u3067print(sub(*args))\u304c\u5b9f\u884c\u3055\u308c\u300110\u3068\u8868\u793a<\/strong>\n<\/div>\n<\/div>\n<div class=\"customized-adsense\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5185\u90e8\u95a2\u6570(inner function)\u306e\u4f7f\u3044\u65b9 python\u3067\u306f\u3001\u95a2\u6570\u306e\u5185\u90e8\u306b\u95a2\u6570\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u3053\u308c\u3092\u5185\u90e8\u95a2\u6570\u3068\u8a00\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u30ce\u30f3\u30ed\u30fc\u30ab\u30eb\u5909\u6570(nonlocal)\u3068\u3057\u3066\u5ba3\u8a00\u3059\u308b\u3068\u5185\u5074\u306e\u95a2\u6570\u304b\u3089\u5916\u5074\u306e\u95a2\u6570\u3067\u5ba3\u8a00\u3055 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":422,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uag_custom_page_level_css":"","_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[9,219],"tags":[88,90,14],"class_list":{"0":"post-421","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python","8":"category-it-programming","9":"tag-function","10":"tag-inner","11":"tag-python","12":"entry"},"uagb_featured_image_src":{"full":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",720,480,false],"thumbnail":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480-150x150.jpg",150,150,true],"medium":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",720,480,false],"large":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",720,480,false],"1536x1536":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",720,480,false],"2048x2048":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",720,480,false],"home-middle":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",525,350,false],"home-top":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",630,420,false],"sidebar-thumbnail":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/sunset-2525181__480.jpg",100,67,false]},"uagb_author_info":{"display_name":"9nmatsumoto","author_link":"https:\/\/www.nblog09.com\/w\/author\/9nmatsumoto\/"},"uagb_comment_info":3,"uagb_excerpt":"\u5185\u90e8\u95a2\u6570(inner function)\u306e\u4f7f\u3044\u65b9 python\u3067\u306f\u3001\u95a2\u6570\u306e\u5185\u90e8\u306b\u95a2\u6570\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u3053\u308c\u3092&hellip;","_links":{"self":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts\/421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/comments?post=421"}],"version-history":[{"count":29,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts\/421\/revisions"}],"predecessor-version":[{"id":2833,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts\/421\/revisions\/2833"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/media\/422"}],"wp:attachment":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/media?parent=421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/categories?post=421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/tags?post=421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}