Pythonクロージャの詳しい説明
「クロージャ」という言葉はプログラミングを勉強したことのあるほとんどの学生には馴染みがあると思いますが、それでも理解するのが難しい場合があります。まず定義を見てみましょう:
クロージャは、関数とそれに関連付けられた参照環境で構成されるエンティティです。たとえば、参照リソースには次のような定義があります。深い制約を実装する場合、参照環境を明示的に表現できるものを作成し、それを関連するサブルーチンとバンドルして、バンドル全体がクロージャと呼ばれるようにする必要があります。
Pythonのクロージャ(クロージャ)は、実はそれほど複雑なものではありません。
平たく言うと、内部関数内で外部スコープ (グローバル スコープではない) の変数が参照されている場合、内部関数はクロージャとみなされます。これは、名前 (変数) によって参照される「内部」関数にすぎず、この名前 (変数) は、それを含む「外部」関数に対するローカル変数です。
これを読んでもクロージャが何なのかまだ理解できないかもしれませんが、次の小さな例を読めば必ず理解できるでしょう。
#! /usr/bin/env python
#coding=utf-8
# http://www.pythontab.com
#関数を定義する
def plus(number):
#関数内で定義する関数、実際、この内部の関数はクロージャとみなされます
def plus_in(number_in):
#ここにnumber_in変数を出力して、どの変数が渡されるかを誰もがより明確に知ることができます
print str(number_in) + "rn "
return number+number_in
#実際、ここで返されるのはクロージャの結果です
return plus_in
#プラス関数に値を代入します。この 20 はパラメータnumberを代入することです
v1=plus(20 )
print v1(100) #ここでの 100 は実際にはパラメーターnumber_in を与えることに注意してください
演算結果:
100
120
注: 100 は print str(number_in) + "rn によって出力された結果です「
」

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...
