私はPythonの初心者です。shutilモジュールからの以下のコードスニペットの動作に疑問があります。
def ignore_patterns(*patterns):
"""Function that can be used as copytree() ignore parameter.
Patterns is a sequence of glob-style patterns
that are used to exclude files"""
def _ignore_patterns(path, names):
ignored_names = []
for pattern in patterns:
ignored_names.extend(fnmatch.filter(names, pattern))
return set(ignored_names)
return _ignore_patterns
オプションを に設定しshutil.copytree
てを呼び出すと、関数が呼び出され、関数が返されます。私の疑問は次のとおりです。ignore
ignore_patterns
ignore_patterns
1)ignore_patterns
呼び出されると、_ignore_pattern
関数参照が返されます。この関数が呼び出されると、「パターン」リストにどのようにアクセスするのでしょうか? 呼び出された関数「ignore_patterns」が返されると、その呼び出しで作成されたリスト パターンは、呼び出されたスコープでのみ使用できるようになります。
_ignore_patterns
2) 返された関数関数名のアンダースコアの意味は何ですか?